Bug#842070: libgtk-3-0: Upgrade breaks gvim: Gtk-CRITICAL **: gtk_widget_set_size_request: assertion 'width >= -1' failed
Andreas Henriksson
andreas at fatal.se
Wed Oct 26 13:09:28 UTC 2016
Hello Ben Armstrong.
On Tue, Oct 25, 2016 at 02:20:27PM -0300, Ben Armstrong wrote:
> Package: libgtk-3-0
> Version: 3.22.2-1
> Severity: normal
>
> Dear Maintainer,
>
> * What led up to the situation?
>
> I upgraded from libgtk-3-0 3.22.1-1 to 3.22.2-1.
>
> * What exactly did you do (or not do) that was effective (or
> ineffective)?
>
> I attempted to open gvim (vim.gtk3 -g), with or without a filename as parameter.
>
> * What was the outcome of this action?
>
> Whenever I opened gvim, I saw these messages:
>
> (gvim:1904): Gtk-CRITICAL **: gtk_widget_set_size_request: assertion 'width >= -1' failed
> *** BUG ***
> In pixman_region32_init_rect: Invalid rectangle passed
> Set a breakpoint on '_pixman_log_error' to debug
>
> Then a window was opened, but no buffer contents were shown, and
> nothing could be typed in the buffer area, making it impossible to use
> the editor. The buttons and menus at the top were still functional,
> however.
>
> I downgraded back to libgtk-3-0 3.22.1-1, and that was effective to
> resolve the issue. The above error messages went away, the buffer was
> shown, and the editor functioned properly.
>
> * What outcome did you expect instead?
>
> I expected no error messages, and I expected the buffer contents to
> be empty and ready to accept input (no filename specified) or else
> contain the contents of the specified file.
>
> I supposed that since there was only a minor revision bump for this
> release, it was more likely libgtk-3-0 broke than gvim itself.
> Re-assign as needed if I guessed incorrectly.
I bisected this issue which pointed at it being introduced in:
commit 12579fe71b3b8f79eb9c1b80e429443bcc437dd0
Author: Olivier Fourdan <ofourdan at redhat.com>
Date: Thu Oct 6 16:49:39 2016 +0200
gdkwindow: configure native windows in move_native_children()
ClutterEmbed on Wayland uses a subsurface and relocates it on configure
events, but when placed within a scrolled window, no configure event is
emitted and the ClutterEmbed subsurface remains static.
Emit a configure event for native windows in GdkWindow's internal
move_native_children() so that custom widgets relying on configure
events such as ClutterEmbed can relocate their stuff.
Similarly, when switching to/from normal/maximized/fullscreen states
which change the shadows' size and possibly shows/hides a header bar,
we need to emit a configure event even if the abs_x/abs_y haven't
changed to make sure the subsurface is size appropriately.
https://bugzilla.gnome.org/show_bug.cgi?id=771320
https://bugzilla.gnome.org/show_bug.cgi?id=767713
Oliver do you have any ideas or hints on how we should proceed to identify
the proper fix?
Regards,
Andreas Henriksson
More information about the pkg-gnome-maintainers
mailing list