From: Dirk Hohndel Date: Wed, 28 Sep 2011 00:03:15 +0000 (-0700) Subject: Use the correct signal to avoid Gtk-CRITICAL error message X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=fda230235ce8879736803dc9e0ae918ce471201f;p=ext%2Fsubsurface.git Use the correct signal to avoid Gtk-CRITICAL error message We used the wrong signal - "data-drag-received" is intended to check whether the target will accept the drop. What we want is the "drag-drop" signal which tells the widget that something was dropped on it. Also fix an embarrassing lack of NULL pointer checks in my string comparisons... Signed-off-by: Dirk Hohndel --- diff --git a/gtk-gui.c b/gtk-gui.c index 985a70e..701e8fe 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -524,9 +524,9 @@ static void drag_cb(GtkWidget *widget, GdkDragContext *context, * this all to figure out which window we're talking about. */ source = gtk_drag_get_source_widget(context); - if (! strcmp(nbd[0].name,gtk_widget_get_name(source))) + if (nbd[0].name && ! strcmp(nbd[0].name,gtk_widget_get_name(source))) nbdp = nbd; - else if (! strcmp(nbd[1].name,gtk_widget_get_name(source))) + else if (nbd[1].name && ! strcmp(nbd[1].name,gtk_widget_get_name(source))) nbdp = nbd + 1; else /* HU? */ @@ -601,7 +601,7 @@ void init_ui(int argc, char **argv) gtk_notebook_set_group_name(GTK_NOTEBOOK(notebook), notebook_name); g_signal_connect(notebook, "create-window", G_CALLBACK(create_new_notebook_window), NULL); gtk_drag_dest_set(notebook, GTK_DEST_DEFAULT_ALL, ¬ebook_target, 1, GDK_ACTION_MOVE); - g_signal_connect(notebook, "drag-data-received", G_CALLBACK(drag_cb), notebook); + g_signal_connect(notebook, "drag-drop", G_CALLBACK(drag_cb), notebook); g_signal_connect(notebook, "switch-page", G_CALLBACK(switch_page), NULL); /* Create the actual divelist */