[DRE-commits] r1660 - in packages/ruby-gnome2/trunk/debian: . patches

paulvt at alioth.debian.org paulvt at alioth.debian.org
Wed May 30 20:10:32 UTC 2007


Author: paulvt
Date: 2007-05-30 20:10:32 +0000 (Wed, 30 May 2007)
New Revision: 1660

Added:
   packages/ruby-gnome2/trunk/debian/patches/data-from-selection.patch
Modified:
   packages/ruby-gnome2/trunk/debian/changelog
   packages/ruby-gnome2/trunk/debian/patches/series
Log:
* Added patch data-from-selection by Philipp Kern to enable reading
  the data out of the selection. (Closes: #383309.)

Modified: packages/ruby-gnome2/trunk/debian/changelog
===================================================================
--- packages/ruby-gnome2/trunk/debian/changelog	2007-05-30 19:24:30 UTC (rev 1659)
+++ packages/ruby-gnome2/trunk/debian/changelog	2007-05-30 20:10:32 UTC (rev 1660)
@@ -14,8 +14,10 @@
     existed before 0.16.0 and is now replaced by a lib<foo>-ruby1.8 package.
   * Remove suggest on libgnome2-ruby for libglade2-ruby1.8, only the
     dummy packages should do this.
+  * Added patch data-from-selection by Philipp Kern to enable reading
+    the data out of the selection. (Closes: #383309.)
 
- -- Paul van Tilburg <paulvt at debian.org>  Wed, 30 May 2007 20:59:59 +0200
+ -- Paul van Tilburg <paulvt at debian.org>  Wed, 30 May 2007 22:09:15 +0200
 
 ruby-gnome2 (0.16.0-1) unstable; urgency=low
 

Added: packages/ruby-gnome2/trunk/debian/patches/data-from-selection.patch
===================================================================
--- packages/ruby-gnome2/trunk/debian/patches/data-from-selection.patch	                        (rev 0)
+++ packages/ruby-gnome2/trunk/debian/patches/data-from-selection.patch	2007-05-30 20:10:32 UTC (rev 1660)
@@ -0,0 +1,94 @@
+diff -Naur ruby-gnome2-all-0.14.1/gtk/src/rbgtktreedrag.c ruby-gnome2-0.14.1-new/gtk/src/rbgtktreedrag.c
+--- ruby-gnome2-all-0.14.1/gtk/src/rbgtktreedrag.c	2006-08-16 18:48:48.000000000 +0200
++++ ruby-gnome2-0.14.1-new/gtk/src/rbgtktreedrag.c	2006-08-16 18:47:45.000000000 +0200
+@@ -54,24 +54,25 @@
+ }
+ 
+ static void
+-_rb_marshal_BOOLEAN__BOXED_BOXED(GClosure     *closure,
+-                                 GValue       *return_value,
+-                                 guint         n_param_values,
+-                                 const GValue *param_values,
+-                                 gpointer      invocation_hint,
+-                                 gpointer      marshal_data)
+-{
+-  typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_BOXED) (gpointer     data1,
+-                                                         gpointer     arg_1,
+-                                                         gpointer     arg_2,
+-                                                         gpointer     data2);
+-  register GMarshalFunc_BOOLEAN__BOXED_BOXED callback;
++_rb_marshal_BOOLEAN__BOXED_OBJECT_BOXED(GClosure     *closure,
++                                        GValue       *return_value,
++                                        guint         n_param_values,
++                                        const GValue *param_values,
++                                        gpointer      invocation_hint,
++                                        gpointer      marshal_data)
++{
++  typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_OBJECT_BOXED) (gpointer     data1,
++                                                                gpointer     arg_1,
++                                                                gpointer     arg_2,
++                                                                gpointer     arg_3,
++                                                                gpointer     data2);
++  register GMarshalFunc_BOOLEAN__BOXED_OBJECT_BOXED callback;
+   register GCClosure *cc = (GCClosure*) closure;
+   register gpointer data1, data2;
+   gboolean v_return;
+ 
+   g_return_if_fail (return_value != NULL);
+-  g_return_if_fail (n_param_values == 3);
++  g_return_if_fail (n_param_values == 4);
+ 
+   if (G_CCLOSURE_SWAP_DATA (closure))
+     {
+@@ -83,11 +84,12 @@
+       data1 = g_value_peek_pointer (param_values + 0);
+       data2 = closure->data;
+     }
+-  callback = (GMarshalFunc_BOOLEAN__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback);
++  callback = (GMarshalFunc_BOOLEAN__BOXED_OBJECT_BOXED) (marshal_data ? marshal_data : cc->callback);
+ 
+   v_return = callback (data1,
+                        g_marshal_value_peek_boxed (param_values + 1),
+-                       g_marshal_value_peek_boxed (param_values + 2),
++                       g_marshal_value_peek_object (param_values + 2),
++                       g_marshal_value_peek_boxed (param_values + 3),
+                        data2);
+ 
+   g_value_set_boolean (return_value, v_return);
+@@ -110,10 +112,11 @@
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL,
+-                 _rb_marshal_BOOLEAN__BOXED_BOXED,
+-                 G_TYPE_BOOLEAN, 2,
++                 _rb_marshal_BOOLEAN__BOXED_OBJECT_BOXED,
++                 G_TYPE_BOOLEAN, 3,
+                  GTK_TYPE_TREE_PATH,
+-                 GTK_TYPE_SELECTION_DATA);
++                 GTK_TYPE_TREE_MODEL,
++                 GTK_TYPE_TREE_PATH);
+ }
+ 
+ static gboolean
+@@ -146,11 +149,20 @@
+ 
+   guint signal_id = g_signal_lookup("row-drop-possible", G_TYPE_FROM_INSTANCE(drag_dest));
+ 
++  GtkTreeModel* source_model = NULL;
++  GtkTreePath* source_path = NULL;
++  /* The selection_data must be of type GTK_TREE_MODEL_ROW, otherwise
++     the get function returns false and the out values are hopefully left
++     as-is. */
++  gtk_tree_get_row_drag_data(selection_data, &source_model, &source_path);
++
+   if(g_signal_has_handler_pending(drag_dest, signal_id, 0, FALSE))
+-    g_signal_emit(drag_dest, signal_id, 0, dest_path, selection_data, &retval);
++    g_signal_emit(drag_dest, signal_id, 0, dest_path, source_model, source_path, &retval);
+   else
+     retval = TRUE; /* default value */
+ 
++  if(source_path)
++    gtk_tree_path_free(source_path);
+   return retval;
+ }
+ 

Modified: packages/ruby-gnome2/trunk/debian/patches/series
===================================================================
--- packages/ruby-gnome2/trunk/debian/patches/series	2007-05-30 19:24:30 UTC (rev 1659)
+++ packages/ruby-gnome2/trunk/debian/patches/series	2007-05-30 20:10:32 UTC (rev 1660)
@@ -1,4 +1,5 @@
 drag-signals.patch
+data-from-selection.patch
 extconf-strict.patch
 shebangs.patch
 gtkmozembed-rpath.patch




More information about the Pkg-ruby-extras-commits mailing list