Package: libgtk-3-0
Version: 3.4.2-6
Severity: normal
Tags: patch
Dear Maintainer,
An instance of GtkAdjustment may be used by another instance after the spin
button widget is destroyed.
In that case, the function "gtk_spin_button_accessible_value_changed()" will be
called with an invalid argument.
This situation is often caused when one use GtkCellRendererSpin object.
To avoid invalid call of the function, the signal handler for the "value-
changed" signal should be disconnected when the spin-button widget is
destroyed.
I found that ngraph-gtk is sometimes crashed because of this bug.
The bug is already fixed in the upstream
(https://bugzilla.gnome.org/show_bug.cgi?id=691592), however, I think the bug
should be fixed in the version libgtk-3-0 3.4.2-6.
The attached patch improve the behavior.
Tanks.
Hiroyuki Ito
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.utf8, LC_CTYPE=ja_JP.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libgtk-3-0 depends on:
ii libatk1.0-0 2.4.0-2
ii libc6 2.13-38
ii libcairo-gobject2 1.12.2-3
ii libcairo2 1.12.2-3
ii libcolord1 0.1.21-1
ii libcomerr2 1.42.5-1
ii libcups2 1.5.3-2.15
ii libfontconfig1 2.9.0-7.1
ii libfreetype6 2.4.9-1.1
ii libgcrypt11 1.5.0-5
ii libgdk-pixbuf2.0-0 2.26.1-1
ii libglib2.0-0 2.33.12+really2.32.4-5
ii libgnutls26 2.12.20-4
ii libgssapi-krb5-2 1.10.1+dfsg-4
ii libgtk-3-common 3.4.2-6
ii libk5crypto3 1.10.1+dfsg-4
ii libkrb5-3 1.10.1+dfsg-4
ii libpango1.0-0 1.30.0-1
ii libx11-6 2:1.5.0-1
ii libxcomposite1 1:0.4.3-2
ii libxcursor1 1:1.1.13-1
ii libxdamage1 1:1.1.3-2
ii libxext6 2:1.3.1-2
ii libxfixes3 1:5.0-4
ii libxi6 2:1.6.1-1
ii libxinerama1 2:1.1.2-1
ii libxrandr2 2:1.3.2-2
ii multiarch-support 2.13-38
ii shared-mime-info 1.0-1+b1
ii zlib1g 1:1.2.7.dfsg-13
Versions of packages libgtk-3-0 recommends:
ii hicolor-icon-theme 0.12-1
ii libgtk-3-bin 3.4.2-6
Versions of packages libgtk-3-0 suggests:
ii gvfs 1.12.3-4
ii librsvg2-common 2.36.1-1
--- gtk/a11y/gtkspinbuttonaccessible.c.org 2013-03-16 18:59:49.129805675 +0900
+++ gtk/a11y/gtkspinbuttonaccessible.c 2013-03-16 19:00:35.917803706 +0900
@@ -51,7 +51,7 @@
adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (data));
if (adjustment)
- g_signal_connect (adjustment,
+ g_signal_connect_object (adjustment,
"value-changed",
G_CALLBACK (gtk_spin_button_accessible_value_changed),
obj);
@@ -71,7 +71,7 @@
GtkAdjustment* adjustment;
adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
- g_signal_connect (adjustment, "value-changed",
+ g_signal_connect_object (adjustment, "value-changed",
G_CALLBACK (gtk_spin_button_accessible_value_changed),
spin_button);
}