Re: Problem with reparent (Gtk+-2.12)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



В Птн, 08/02/2008 в 11:56 +0200, Tor Lillqvist пишет:> > What version could you suggest to download then? Just latest unstable?> >> >  Now we are using those: atk-1.20.0 glib-2.14.6 pango-1.18.4 gtk+-2.12.6> > Those are the latest stable ones, and your program works fine against> them here... Are you using some theme?> 
Ok, we eventually forced to upgrade our GTK library, so, back to theissue :). At some point you were right Tor - theme has side effect tofind a problem. When I chaged theme toolbar icon_size settings on Linux,I've got same crush issue.
After spending some time in debugger I found the problem with reparent.The problem is that gtk_widget_realize and gtk_widget_map was called forwidget with GTK_ANCHORED unset. So, there we got assertion and programcrashed.
I will explain what's happened.I have toolbar with stock-item elements. Then I do REPARENT from onetoplevel to another.
When widget removed from old parent and added to new one this method iscalled:
gtk_widget_propagate_hierarchy_changed_recurse()
there GTK_ANCHORED flag was UNSET and SET for all widgets recursivelyincluding toolbar->toolbutton->button->image.
Also, there is call to do_screen_change() method.When it's called for toolbar there is check if settings were changed(gtk_toolbar_screen_chaged()). In our case we have theme with ICON_SIZE= GTK_ICON_SIZE_SMALL_TOOLBAR, but there was GTK_ICON_SIZE_LARGE_TOOLBAR set in toolbar widget. I wonder when it was reset? Perhaps, somewherein reparent process.
So, gtk attempts to chage ICON_SIZE and calls appropriatemethods/signals. All ends in gtk_tool_button_construct_contents(), whereicon removed and added to toolbutton->button. Because gtk_button_add()forces gtk_widget_realize/map to be called, but toolbar children was notset with GTK_ANCHORED flag yet.
I will create simple test case and submit a bug at the Monday. Just letme know, if that problem wasn't fixed yet, please.
Last worked version: gtk+-2.8.17Tested versions (bug): gtk+-2.10.4, gtk+-2.12.6
Regards,-- Andrew E. Makeev <andrew@xxxxxxxx>Solvo Logistic
_______________________________________________gtk-list mailing listgtk-list@xxxxxxxxxxxxx://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux