GNOME Bugzilla – Bug 759657
GtkSeparator can segfault from CSS settings
Last modified: 2016-02-24 13:37:31 UTC
with gtk+ master, you can cause gtk to crash by pasting this into the inspector CSS view. separator { padding: 0 0 0 0; } The error is Gtk[6063]: ERROR: GtkBox child GtkSeparator minimum width: -7 < 0 for height 38 Stack trace added for completeness, but probably not necessary. Program received signal SIGTRAP, Trace/breakpoint trap. 0x00007ffff24f9573 in _g_log_abort (breakpoint=1) at gmessages.c:324 324 G_BREAKPOINT (); (gdb) bt
+ Trace 235827
I think this is the fault of the negative margin trick we're using for paned separators now - if you paste that in the inspector, it overrides the positive padding we have to compensate for the negative margin.
still happening
I can't reproduce this anymore.
Here is what I see when I add paned separator { padding: 0;} in the inspector: *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed Set a breakpoint on '_pixman_log_error' to debug (lt-gtk3-demo:809): Gtk-CRITICAL **: gtk_widget_queue_draw_area: assertion 'width >= 0' failed
The commit fixing this (51af70) has broken a GtkGrid subclass in Meld (DiffGrid in meld/diffgrid.py). I'll be the first to admit that this is an extremely hacky subclass, so I'm happy to believe that it's not GTK+'s fault. However, I can't figure out how this commit is related to the breakage. The symptom I'm seeing is that all of the children of the GtkGrid subclass get allocations correctly (according to the inspector), but are never painted. Is it possible that this fix has broken backwards compatibility due to some weird interaction between this sizing change and the GtkCssGadget port of GtkGrid?
51af70 also seems to break virt-manager here, specifically the VncDisplay gtk-vnc widget in the vm console view doesn't seem to be painted although its seems to be working (in the blind)