Bug#885241: glade: Gtypes mangled when packed in pointers in glade-base-editor

William Panlener wpanlener at gmail.com
Tue Dec 26 03:37:53 UTC 2017


Package: glade
Version: 3.20.2-1
Followup-For: Bug #885241

Dear Maintainer,

Dear Maintainer,

   (Unmangled message)

   When attempting to add a cell renderer to a GTKTreeViewColumn, it was
discovered that this feature is broken in glade.

   To reproduce: Add a GTKTreeView to a GTKWindow in glade.  Right click the
GTKTreeView and select "Edit" in the popup window. In the Hierarchy pane, click
the + (plus) icon to add a new GTKTreeViewColumn. Right click the new column
and choose "Add child Text" from the popup window.

   It is expected that a GTKCellRendererText object would appear as a child of
the GTKTreeViewColumn, but instead, nothing happens. Other buggy behavior can
be seen in this same Hierarchy pane such as occasional segfaults when removing
columns.

   After debugging, it seems that this behavior and probable buggy behavior
with other GTK+ plugins using the glade-base-editor can be attributed to
mangling of GType values that occurs when packing these values into gints.
GType is an 8-byte unsigned value while gint is a signed 4 byte value (at least
on amd64).

   These patches were tested on a backport of glade from unstable (3.20.2-1) to
stretch with libglib-dev and debhelper build-dep versions relaxed to meet those
in stretch, the behavior bug is also present in the stable package (3.20.0-2)
and appears to be present upstream (untested but apparent in source and
unmentioned in Changelog).

   The patch consists of a macro wrapper to pack GTypes in a larger integer
type and a test to preempt regression. Ideally, most of this would be provided
by glib.



-- System Information:
Debian Release: 9.3
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages glade depends on:
ii  libc6               2.24-11+deb9u1
ii  libcairo2           1.14.8-1
ii  libgdk-pixbuf2.0-0  2.36.5-2+deb9u1
ii  libgladeui-2-6      3.20.2-1
ii  libglib2.0-0        2.50.3-2
ii  libgtk-3-0          3.22.11-1
ii  libpango-1.0-0      1.40.5-1

Versions of packages glade recommends:
ii  devhelp       3.22.0-1+b1
ii  libgtk-3-dev  3.22.11-1

glade suggests no packages.

-- no debconf information



More information about the pkg-gnome-maintainers mailing list