aboutsummaryrefslogtreecommitdiffstats
path: root/vnc.c
diff options
context:
space:
mode:
authorkraxel <kraxel>2006-10-26 14:57:40 +0000
committerkraxel <kraxel>2006-10-26 14:57:40 +0000
commit16928d0f1b55cd0adb39450f1fbd122e6aac3f5e (patch)
tree34ae5733f8a79c8cbd447a11aa49846fa1f03f2f /vnc.c
parenta528dd2172edb6fc4a152c2cd5f2b1f1b64a5531 (diff)
downloadxenwatch-16928d0f1b55cd0adb39450f1fbd122e6aac3f5e.tar.gz
cvs passwd fixup
Diffstat (limited to 'vnc.c')
-rw-r--r--vnc.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/vnc.c b/vnc.c
index 1bced25..5afdcfc 100644
--- a/vnc.c
+++ b/vnc.c
@@ -18,6 +18,8 @@
#include <rfb/rfbclient.h>
+static int debug_libvnc;
+
/* ------------------------------------------------------------------ */
struct vnc_window {
@@ -189,7 +191,8 @@ static char *vnc_passwd(rfbClient* cl)
{
struct vnc_window *vnc = rfbClientGetClientData(cl, vnc_open);
GtkWidget *dialog, *label, *entry;
- const char *passwd = "";
+ char *passwd = NULL;
+ const char *txt;
char message[256];
if (vnc->debug)
@@ -221,25 +224,27 @@ static char *vnc_passwd(rfbClient* cl)
gtk_widget_show_all(dialog);
switch (gtk_dialog_run(GTK_DIALOG(dialog))) {
case GTK_RESPONSE_ACCEPT:
- passwd = gtk_entry_get_text(GTK_ENTRY(entry));
+ txt = gtk_entry_get_text(GTK_ENTRY(entry));
+ passwd = strdup(txt);
if (vnc->debug)
- fprintf(stderr,"%s: OK\n", __FUNCTION__);
+ fprintf(stderr,"%s: OK: \"%s\"\n", __FUNCTION__, passwd);
break;
default:
if (vnc->debug)
fprintf(stderr,"%s: canceled\n", __FUNCTION__);
+ passwd = strdup("");
break;
}
gtk_widget_destroy(dialog);
- return strdup(passwd);
+ return passwd;
}
static void vnc_log(const char *format, ...)
{
va_list args;
- if (1)
+ if (!debug_libvnc)
return;
va_start(args, format);
vfprintf(stderr, format, args);
@@ -361,7 +366,7 @@ static gboolean key_cb_uskbd(GtkWidget *widget, GdkEventKey *event,
/* public API functions */
GtkWidget *vnc_open(char *hostname, int displayno,
- int standalone, int keysyms)
+ int standalone, int uskbd, int debug)
{
char display[128];
char *argv[] = { "vnc-client", display, NULL };
@@ -374,6 +379,8 @@ GtkWidget *vnc_open(char *hostname, int displayno,
goto err;
memset(vnc,0,sizeof(*vnc));
vnc->standalone = standalone;
+ vnc->debug = debug;
+ debug_libvnc = debug;
/* x11 */
vnc->dpy = gdk_x11_display_get_xdisplay(gdk_display_get_default());
@@ -433,16 +440,16 @@ GtkWidget *vnc_open(char *hostname, int displayno,
G_CALLBACK(button_cb), vnc);
g_signal_connect(G_OBJECT(vnc->draw), "motion-notify-event",
G_CALLBACK(motion_cb), vnc);
- if (keysyms) {
+ if (uskbd) {
g_signal_connect(G_OBJECT(vnc->draw), "key-press-event",
- G_CALLBACK(key_cb_local), vnc);
+ G_CALLBACK(key_cb_uskbd), vnc);
g_signal_connect(G_OBJECT(vnc->draw), "key-release-event",
- G_CALLBACK(key_cb_local), vnc);
+ G_CALLBACK(key_cb_uskbd), vnc);
} else {
g_signal_connect(G_OBJECT(vnc->draw), "key-press-event",
- G_CALLBACK(key_cb_uskbd), vnc);
+ G_CALLBACK(key_cb_local), vnc);
g_signal_connect(G_OBJECT(vnc->draw), "key-release-event",
- G_CALLBACK(key_cb_uskbd), vnc);
+ G_CALLBACK(key_cb_local), vnc);
}
/* show window */
@@ -458,7 +465,7 @@ GtkWidget *vnc_open(char *hostname, int displayno,
#else /* HAVE_VNCCLIENT */
GtkWidget *vnc_open(char *hostname, int displayno,
- int standalone, int keysyms)
+ int standalone, int uskbd, int debug)
{
fprintf(stderr, "compiled without VNC support, sorry\n");
return NULL;