Package: geeqie
Version: 1:1.1-8+b1
Severity: normal
Tags: patch

Dear Maintainer,

Patch prevents calling gtk_widget_destroy(gd->dialog) twice - second is
in generic_dialog_click_cb:58

Steps to reproduce:
select more images on left section then is seen in on page (need to
scroll), roll to the top, click by right mouse button, select Rename
from menu and cancel it by key Esc (button Cancel is working).

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff79b2b16 in gtk_widget_destroy () from 
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0

(gdb) bt
 #0  0x00007ffff79b2b16 in gtk_widget_destroy () from 
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #1  0x0000000000429c6f in generic_dialog_close (gd=0x118d700) at 
ui_utildlg.c:44
 #2  0x0000000000429cf2 in generic_dialog_click_cb (widget=0xb12220, 
data=0x118d700) at ui_utildlg.c:58
 #3  0x0000000000429e4a in generic_dialog_key_press_cb (widget=0xb12220, 
event=0x11f0800, data=0x118d700) at ui_utildlg.c:93
 #4  0x00007ffff78942bc in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #5  0x00007ffff6123f28 in g_closure_invoke () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #6  0x00007ffff6134edd in ?? () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #7  0x00007ffff613c922 in g_signal_emit_valist () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #8  0x00007ffff613cf32 in g_signal_emit () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #9  0x00007ffff79b4664 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #10 0x00007ffff78927cf in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #11 0x00007ffff7893f95 in gtk_main_do_event () from 
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #12 0x00007ffff74cee12 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
 #13 0x00007ffff5e5cea6 in g_main_context_dispatch () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
 #14 0x00007ffff5e5d1f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 #15 0x00007ffff5e5d5fa in g_main_loop_run () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
 #16 0x00007ffff789344d in gtk_main () from 
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 #17 0x0000000000492cf1 in main (argc=2, argv=0x7fffffffd4c8) at main.c:921

Patch is reported upstream as requested merge, with no reply so far
(https://gitorious.org/geeqie/geeqie/merge_requests/11).

Regards,
Petr

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (900, 'unstable'), (500, 'stable'), (100, 'testing'), (50, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages geeqie depends on:
ii  geeqie-common        1:1.1-8
ii  libatk1.0-0          2.10.0-2
ii  libc6                2.18-4
ii  libcairo2            1.12.16-2
ii  libexiv2-12          0.23-1
ii  libfontconfig1       2.11.0-5
ii  libfreetype6         2.5.2-1
ii  libgcc1              1:4.8.2-16
ii  libgdk-pixbuf2.0-0   2.30.6-1
ii  libglib2.0-0         2.38.2-5
ii  libgtk2.0-0          2.24.22-1
ii  libjpeg8             8d-2
ii  liblcms1             1.19.dfsg-1.2+b1
ii  liblircclient0       0.9.0~pre1-1
ii  libpango-1.0-0       1.36.2-2
ii  libpangocairo-1.0-0  1.36.2-2
ii  libpangoft2-1.0-0    1.36.2-2
ii  libstdc++6           4.8.2-16
ii  libtiff5             4.0.3-8

Versions of packages geeqie recommends:
ii  exiftran         2.07-11
ii  exiv2            0.23-1
ii  imagemagick      8:6.7.7.10+dfsg-1
ii  librsvg2-common  2.40.0-1
ii  ufraw-batch      0.19.2-2
ii  zenity           3.8.0-1

Versions of packages geeqie suggests:
ii  geeqie-dbg     1:1.1-8+b1
ii  gimp           2.8.6-1
ii  libjpeg-progs  8d-2
pn  ufraw          <none>
pn  xpaint         <none>

-- no debconf information
>From c7c846fb382377679e046ab1d257d25ccd77ee15 Mon Sep 17 00:00:00 2001
From: Petr Vorel <petr.vo...@gmail.com>
Date: Sun, 16 Mar 2014 16:42:07 +0100
Subject: [PATCH] fix segfault while cancel rename dialog

---
 .../fix-segfault-while-cancel-rename-dialog.patch  | 55 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 56 insertions(+)
 create mode 100644 debian/patches/fix-segfault-while-cancel-rename-dialog.patch

diff --git a/debian/patches/fix-segfault-while-cancel-rename-dialog.patch b/debian/patches/fix-segfault-while-cancel-rename-dialog.patch
new file mode 100644
index 0000000..67bb2ad
--- /dev/null
+++ b/debian/patches/fix-segfault-while-cancel-rename-dialog.patch
@@ -0,0 +1,55 @@
+From fd0a1d0af48392c459fd04ce1f213965f1b6af0d Mon Sep 17 00:00:00 2001
+From: Petr Vorel <petr.vo...@gmail.com>
+Date: Tue, 4 Mar 2014 00:31:04 +0100
+Subject: [PATCH] fix segfault while cancel rename dialog
+
+Patch prevents calling gtk_widget_destroy(gd->dialog) twice - second is
+in generic_dialog_click_cb:58
+
+Steps to reproduce:
+select more images on left section then is seen in on page (need to
+scroll), roll to the top, click by right mouse button, select Rename
+from menu and cancel it by key Esc (button Cancel is working).
+
+Program received signal SIGSEGV, Segmentation fault.
+0x00007ffff79b2b16 in gtk_widget_destroy () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+
+(gdb) bt
+ #0  0x00007ffff79b2b16 in gtk_widget_destroy () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #1  0x0000000000429c6f in generic_dialog_close (gd=0x118d700) at ui_utildlg.c:44
+ #2  0x0000000000429cf2 in generic_dialog_click_cb (widget=0xb12220, data=0x118d700) at ui_utildlg.c:58
+ #3  0x0000000000429e4a in generic_dialog_key_press_cb (widget=0xb12220, event=0x11f0800, data=0x118d700) at ui_utildlg.c:93
+ #4  0x00007ffff78942bc in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #5  0x00007ffff6123f28 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
+ #6  0x00007ffff6134edd in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
+ #7  0x00007ffff613c922 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
+ #8  0x00007ffff613cf32 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
+ #9  0x00007ffff79b4664 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #10 0x00007ffff78927cf in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #11 0x00007ffff7893f95 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #12 0x00007ffff74cee12 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
+ #13 0x00007ffff5e5cea6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
+ #14 0x00007ffff5e5d1f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
+ #15 0x00007ffff5e5d5fa in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
+ #16 0x00007ffff789344d in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
+ #17 0x0000000000492cf1 in main (argc=2, argv=0x7fffffffd4c8) at main.c:921
+---
+ src/ui_utildlg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ui_utildlg.c b/src/ui_utildlg.c
+index 108c121..c4bfaaf 100644
+--- a/src/ui_utildlg.c
++++ b/src/ui_utildlg.c
+@@ -94,7 +94,7 @@ static gboolean generic_dialog_key_press_cb(GtkWidget *widget, GdkEventKey *even
+ 	if (event->keyval == GDK_KEY_Escape)
+ 		{
+ 		if (gd->cancel_cb) gd->cancel_cb(gd, gd->data);
+-		if (gd->auto_close) generic_dialog_click_cb(widget, data);
++		else if (gd->auto_close) generic_dialog_click_cb(widget, data);
+ 		return TRUE;
+ 		}
+ 	return FALSE;
+-- 
+1.9.0.279.gdc9e3eb
+
diff --git a/debian/patches/series b/debian/patches/series
index 3290a83..d56f6db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ More-use-of-const-fix-up-a-warning.patch
 Do-not-access-private-GdkPixbuf-data.patch
 fix-bashishm.patch
 fix-fullscreen.patch
+fix-segfault-while-cancel-rename-dialog.patch
-- 
1.9.0.279.gdc9e3eb

Reply via email to