Summary: | gnome-disk-utility crashes in oxygen-gtk3 | ||
---|---|---|---|
Product: | [Plasma] Oxygen | Reporter: | nucleo <nucleo> |
Component: | gtk2-engine | Assignee: | Hugo Pereira Da Costa <hugo.pereira.da.costa> |
Status: | CLOSED FIXED | ||
Severity: | crash | CC: | b7.10110111, hugo.pereira.da.costa, web |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
palimpsest without window border
debug messages after switching back from konsole to palimpsest and showing tooltips |
Description
nucleo
2012-01-10 02:21:41 UTC
Created attachment 67633 [details]
palimpsest without window border
palimpsest crashes with last oxygen-gtk3 snapshot and with older one made before changes in bug 291007. Indeed. Likely unrelated to recent change. Stupid question: "palimpseste" and "gnome-disk-utility" are the same app ? I cannot get this code running here so cannot reproduce, but the origin of the crash might be that some widget in the stack has been deleted and hence crashes at G_OBJECT_TYPE. Maybe I can try keep track of cached widgets, and remove them from the stack at deletion. If you don't mind, I'll post a patch here for you to test (maybe not today, but soon). Yes, this is the same application http://git.gnome.org/browse/gnome-disk-utility/tree/ Git commit 6de77bc956013e6dc885821fd03cca52f499c9a8 by Hugo Pereira Da Costa. Committed on 10/01/2012 at 15:11. Pushed by hpereiradacosta into branch 'gtk3'. keep track of registered widgets, remove from stack when deleted. M +49 -11 src/oxygenwidgetlookup.cpp M +17 -3 src/oxygenwidgetlookup.h http://commits.kde.org/oxygen-gtk/6de77bc956013e6dc885821fd03cca52f499c9a8 Nucleo: would you give it another shot after the commit above ? It may -or not- fix the issue. (but is safer anyway). Thanks ! I am not able reproduce crash with last snapshot (with gtk-3.3.6). But there are still appears messages when tooltips shown: Oxygen::WidgetLookup::find - context: 0xba6460 type: GtkWindow - no match found Gtk-CRITICAL **: gtk_widget_get_window: assertion `GTK_IS_WIDGET (widget)' failed Oxygen::WidgetLookup::find - context: 0xba6460 type: GtkWindow - no match found Gtk-CRITICAL **: gtk_widget_get_window: assertion `GTK_IS_WIDGET (widget)' failed And main window lost border when was tooltips shown after I switched to konsole and back to connect to server window. For the "no match found", well, there isn't much we can do about it. It means there is something funny in the way the application uses context to paint on widgets which prevents us to look up the widget from the context. At least the crash being gone when this look-up fails is a good thing ... (The details: the whole gtk3 idea of passing only GtkContext to the style, and not the associated GtkWidget is completely incompatible with the way oxygen renders and animates widgets. So we use a "trick" to match a given context to its associated widget, and get the missing information we need from the widget. Now, for some reason, this trick does not work whith palimpseste, whereas it does work with the other applications I checked, such as gedit, oxygen-gtk3-demo, audacious, and gtk3-demo). For the window decoration being lost, unless I'm mistaken, its completely unrelated. Oxygen-gtk does not render the window decoration, does it ? Or rather: are you running on kde, or gnome (or IceWM) ? are you sure oxygen-gtk is used to render the window decoration ? Thanks again for the feedback. > For the window decoration being lost, unless I'm mistaken, its completely
> unrelated. Oxygen-gtk does not render the window decoration, does it ?
Maybe there's a bug in kwin's interaction with the X11 properties which oxygen sets?
I am testing palimpsest under KDE 4.8 rc2 with Oxygen window decoration. I don't know why window lost its border but this not happens when I set gtk3 theme to Raleigh. Created attachment 67663 [details]
debug messages after switching back from konsole to palimpsest and showing tooltips
(In reply to comment #11) > Created an attachment (id=67663) [details] > debug messages after switching back from konsole to palimpsest and showing > tooltips Maybe somewhere in this messages can be found moment when window lost its border. eheh. Reading it right now :) I mean: reading the backlog just to see if I can find some clue. @nucleo Could you attach messages from kwin when the border disappears (after restarting it as "kwin --replace")? There is no any messages when running "kwin --replace" (excpet first message when kwin just started). Problem with window border appears only with gtk-3.3.6, no problem with 3.2.2. Also no Gtk-CRITICAL messages with 3.2.2.. gtk-3.2.2 is in Fedora 16, gtk-3.3.6 in Fedora Rawhide (development branch), there are many other changes, not only newer gtk3. And also different KDE in Fedora 16 (4.7.4) and in Rawhide (4.8 rc2). @nucleo Most likely it's really kde4.8 kwin's fault that window decoration disappears. Try filing a kwin bug for this. As for the crash, since it no longer happens, I think it's time to close this bug. I agree. Fine with closing. Thanks ! We'll see what kwin guys say. |