[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#711336: pu: package gitg/0.2.4-1.1+deb7u1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

Dear release team,

Due to defective patch to replace deprecated "gdk_window_get_pointer"
in `gitg` the latter started to crash and lost most of its drag'n'drop
functionality. Also it becomes very noisy on console during mouse
movements:

    (gitg:26390): Gdk-CRITICAL **: gdk_window_get_device_position: assertion `GDK_IS_DEVICE (device)' failed

Fortunately user provided corrected patch that fixed all the run time
problems as far as I can see. With your permission I'd very much like
to fix this mess in Wheezy. Please find attached .diff file with all
the changes.

Please advise if it is OK to upload.

Thank you.

Regards,
 Dmitry Smirnov
 GPG key : 4096R/53968D1B
diff --git a/debian/changelog b/debian/changelog
index 4eb9d50..b616917 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+gitg (0.2.4-1.1+deb7u1) stable; urgency=low
+
+  * Replaced incorrect "ftbfs" patch to fix run-time crashes
+    and drag'n'drop functionality (Closes: #705886, #674001).
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 06 Jun 2013 18:56:48 +1000
+
 gitg (0.2.4-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff --git a/debian/patches/ftbfs b/debian/patches/ftbfs
deleted file mode 100644
index 340c578..0000000
--- a/debian/patches/ftbfs
+++ /dev/null
@@ -1,27 +0,0 @@
-Description: Replaced deprecated gdk_window_get_pointer API.
-Author: Jiang Wu <masterwujiang@gmail.com>
-Bug-Debian: http://bugs.debian.org/666232
-Last-Update: 2012-04-29
-
---- gitg-0.2.4.orig/gitg/gitg-dnd.c
-+++ gitg-0.2.4/gitg/gitg-dnd.c
-@@ -513,7 +513,7 @@ vertical_autoscroll (GitgDndData *data)
- 	gint offset;
- 	gfloat value;
- 
--	gdk_window_get_pointer (gtk_tree_view_get_bin_window (data->tree_view), NULL, &y, NULL);
-+	gdk_window_get_device_position (gtk_tree_view_get_bin_window (data->tree_view), GDK_SOURCE_MOUSE, NULL, &y, NULL);
- 	gtk_tree_view_convert_bin_window_to_tree_coords (data->tree_view, 0, y, NULL, &y);
- 
- 	gtk_tree_view_get_visible_rect (data->tree_view, &visible_rect);
---- gitg-0.2.4.orig/gitg/gitg-commit-view.c
-+++ gitg-0.2.4/gitg/gitg-commit-view.c
-@@ -967,7 +967,7 @@ get_info_at_pointer (GitgCommitView *vie
- 	/* Get where the pointer really is. */
- 	GdkWindow *win = gtk_text_view_get_window (textview, GTK_TEXT_WINDOW_TEXT);
- 
--	gdk_window_get_pointer (win, &x, &y, NULL);
-+	gdk_window_get_device_position (win, GDK_SOURCE_MOUSE, &x, &y, NULL);
- 
- 	width = gdk_window_get_width (win);
- 	height = gdk_window_get_height (win);
diff --git a/debian/patches/ftbfs.patch b/debian/patches/ftbfs.patch
new file mode 100644
index 0000000..5a750a5
--- /dev/null
+++ b/debian/patches/ftbfs.patch
@@ -0,0 +1,39 @@
+Description: Replaced deprecated gdk_window_get_pointer API.
+Author: Rodolfo <rodolforg@gmail.com>
+Bug-Debian: http://bugs.debian.org/666232
+Bug-Debian: http://bugs.debian.org/705886
+Bug-Debian: http://bugs.debian.org/674001
+Last-Update: 2013-06-06
+
+--- a/gitg/gitg-dnd.c
++++ b/gitg/gitg-dnd.c
+@@ -512,9 +512,13 @@
+ 	gint y;
+ 	gint offset;
+ 	gfloat value;
+ 
+-	gdk_window_get_pointer (gtk_tree_view_get_bin_window (data->tree_view), NULL, &y, NULL);
++	GdkWindow *win = gtk_tree_view_get_bin_window (data->tree_view);
++	GdkDeviceManager *device_manager = gdk_display_get_device_manager(gdk_window_get_display(win));
++	GdkDevice *pointer = gdk_device_manager_get_client_pointer (device_manager);
++	gdk_window_get_device_position (win, pointer, NULL, &y, NULL);
++
+ 	gtk_tree_view_convert_bin_window_to_tree_coords (data->tree_view, 0, y, NULL, &y);
+ 
+ 	gtk_tree_view_get_visible_rect (data->tree_view, &visible_rect);
+ 
+--- a/gitg/gitg-commit-view.c
++++ b/gitg/gitg-commit-view.c
+@@ -966,9 +966,11 @@
+ 
+ 	/* Get where the pointer really is. */
+ 	GdkWindow *win = gtk_text_view_get_window (textview, GTK_TEXT_WINDOW_TEXT);
+ 
+-	gdk_window_get_pointer (win, &x, &y, NULL);
++	GdkDeviceManager *device_manager = gdk_display_get_device_manager(gdk_window_get_display(win));
++	GdkDevice *pointer = gdk_device_manager_get_client_pointer (device_manager);
++	gdk_window_get_device_position (win, pointer, &x, &y, NULL);
+ 
+ 	width = gdk_window_get_width (win);
+ 	height = gdk_window_get_height (win);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 758d0b8..21bba92 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,3 @@
 0001-Change-Categories-to-Development-RevisionControl.patch
 0002-libgitg-make-a-static-library.patch
-ftbfs
+ftbfs.patch

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: