svnno****@sourc*****
svnno****@sourc*****
Fri Oct 5 14:19:49 JST 2007
Revision: 3271 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=kazehakase&view=rev&rev=3271 Author: ikezoe Date: 2007-10-05 14:19:49 +0900 (Fri, 05 Oct 2007) Log Message: ----------- 2007-10-05 Hiroyuki Ikezoe <poinc****@ikezo*****> * src/kz-window.c: Fix "Gtk-CRITICAL **: gtk_selection_data_set: assertion `length <= 0' failed" Modified Paths: -------------- kazehakase/trunk/ChangeLog kazehakase/trunk/src/kz-notebook.c Modified: kazehakase/trunk/ChangeLog =================================================================== --- kazehakase/trunk/ChangeLog 2007-10-04 21:57:38 UTC (rev 3270) +++ kazehakase/trunk/ChangeLog 2007-10-05 05:19:49 UTC (rev 3271) @@ -1,3 +1,8 @@ +2007-10-05 Hiroyuki Ikezoe <poinc****@ikezo*****> + + * src/kz-window.c: Fix "Gtk-CRITICAL **: gtk_selection_data_set: + assertion `length <= 0' failed" + 2007-10-04 Hiroyuki Ikezoe <poinc****@ikezo*****> * src/kz-notebook.c: Set detachable and reorderable when page-added Modified: kazehakase/trunk/src/kz-notebook.c =================================================================== --- kazehakase/trunk/src/kz-notebook.c 2007-10-04 21:57:38 UTC (rev 3270) +++ kazehakase/trunk/src/kz-notebook.c 2007-10-05 05:19:49 UTC (rev 3271) @@ -46,24 +46,6 @@ GtkWidget *dragged_page; }; -enum { - TARGET_GTK_NOTEBOOK_TAB, - TARGET_NETSCAPE_URL, - TARGET_TEXT_URI_LIST, - TARGET_TEXT_PLAIN, - TARGET_STRING -}; - -static const GtkTargetEntry url_drag_types [] = -{ - { "GTK_NOTEBOOK_TAB", GTK_TARGET_SAME_APP, TARGET_GTK_NOTEBOOK_TAB}, - { "_NETSCAPE_URL", 0, TARGET_NETSCAPE_URL}, - { "text/uri-list", 0, TARGET_TEXT_URI_LIST}, - { "text/plain", 0, TARGET_TEXT_PLAIN}, - { "STRING", 0, TARGET_STRING} -}; -static const guint n_url_drag_types = G_N_ELEMENTS (url_drag_types); - #define KZ_NOTEBOOK_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), KZ_TYPE_NOTEBOOK, KzNotebookPrivate)) static void dispose (GObject *object); @@ -157,10 +139,6 @@ g_signal_connect(notebook, "page-added", G_CALLBACK(cb_page_added), NULL); - gtk_drag_dest_set(GTK_WIDGET(notebook), - GTK_DEST_DEFAULT_ALL, - url_drag_types,n_url_drag_types, - GDK_ACTION_MOVE | GDK_ACTION_LINK); } @@ -303,10 +281,8 @@ guint info, guint time) { - switch (info) + if (seldata->target == gdk_atom_intern_static_string("GTK_NOTEBOOK_TAB")) { - case TARGET_GTK_NOTEBOOK_TAB: - { GtkWidget *src_notebook; GtkWidget **child; KzWindow *src_window, *dest_window; @@ -317,28 +293,9 @@ dest_window = KZ_NOTEBOOK_GET_PRIVATE(widget)->kz; kz_window_move_tab(src_window, dest_window, *child); gtk_drag_finish(context, TRUE, TRUE, time); - break; } - case TARGET_NETSCAPE_URL: - case TARGET_TEXT_URI_LIST: - case TARGET_TEXT_PLAIN: - case TARGET_STRING: - { - KzWindow *kz = KZ_NOTEBOOK_GET_PRIVATE(widget)->kz; - gchar **strings; - if (seldata->length < 0) return; - - strings = g_strsplit((const gchar*)seldata->data, "\n", 2); - kz_window_open_new_tab(kz, strings[0]); - g_strfreev(strings); - gtk_drag_finish(context, TRUE, FALSE, time); - break; - } - - default: - break; - } + gtk_drag_finish(context, FALSE, FALSE, time); }