GNOME Bugzilla – Bug 773686
Software when launched shows in dash with wrong icon, name and menu
Last modified: 2017-01-25 17:07:47 UTC
Created attachment 338784 [details] Showing Software's icon in dash (and past favorited software icon) Software when opened is shown in the dash with the wrong icon, the tooltip 'gnome-software' and one menu option called 'Applications' (translated). This was not always the case, just noticed it today. Attached screenshot Software 3.22 gnome 3.22.1 Fedora 25
Running under Wayland.
Not sure what happened, but it is fixed :)
The fix was temporary, Software is tied to extra "blank" icon again.
I think the mutter and gtk3 updates in https://bugzilla.redhat.com/show_bug.cgi?id=1376471 should fix this.
(In reply to Kalev Lember from comment #4) > I think the mutter and gtk3 updates in > https://bugzilla.redhat.com/show_bug.cgi?id=1376471 should fix this. I have those versions of gtk3 and mutter installed, but the issue remains. Hope you don't mind me re-opening this.
Hey, here's one thing that will probably help us to figure out the issue: (1) Open "looking glass" (<alt>f2 lg) (2) Select "Windows" (3) Select the "Software" window (or "gnome-software"?), click the "Insert" button (4) Switch to "Evaluator" (5) Enter "it.gtk_application_id" and post the output ((6) Get out of "looking glass" with Escape)
Inside looking glass, I see Software shown like this: Applications wmclass: gnome-software <untracked> I can't click gnome-software, but can "Applications". When I insert the code in "Evaluator" it outputs: r(1) = null
We tracked this down to an issue in Gdk. I think Carlos will have a proper patch in the next couple of days.
*** Bug 773381 has been marked as a duplicate of this bug. ***
(In reply to Florian Müllner from comment #8) > We tracked this down to an issue in Gdk. I think Carlos will have a proper > patch in the next couple of days. I can reproduce the issue on my fully-updated F25 system.
Created attachment 343802 [details] [review] wayland: Push NULL buffer when hiding a GdkWindow This is how windows are meant to be hidden as per the wayland protocol, there's no need to destroy the xdg_surface and other interfaces. Also, rename gdk_wayland_window_hide_surface() to clear_surface(), as that's what it does.
Review of attachment 343802 [details] [review]: ok
Attachment 343802 [details] pushed as 6beb0b9 - wayland: Push NULL buffer when hiding a GdkWindow
(In reply to Carlos Garnacho from comment #11) > This is how windows are meant to be hidden as per the wayland > protocol, there's no need to destroy the xdg_surface and other > interfaces. Erm ... if (surface->buffer_ref.buffer == NULL && priv->first_buffer_attached) { /* XDG surfaces can't commit NULL buffers */ wl_resource_post_error (surface->resource, WL_DISPLAY_ERROR_INVALID_OBJECT, "Cannot commit a NULL buffer to an xdg_surface"); return; }
wth is wrong with me... thinking further about when I came up with the fix (some months ago), IIRC we just needed to preserve the gtk1_surface, then I came to this misassumption and stashed the patch, which I happily continued with when unstashing today. I will revert and provide a proper patch.
Created attachment 344237 [details] [review] wayland: Ensure to set gtk_surface dbus properties after hide() Currently hiding destroys the wl_surface and all related interfaces, (including the gtk_surface1) so the next time the GdkWindow is mapped, we don't bother to set the DBus properties. Toggle the check off so it's actually issued again after the GdkWindow gets a gtk_surface1.
Review of attachment 344237 [details] [review]: assuming it was tested, ok
This one was, if I can trust my short term memory any better than my long term one :). This fix is also simpler, might still be nicer to preserve the wl_surface while the window is hidden, but it's not intrinsically related to this bug. Attachment 344237 [details] pushed as baa83e9 - wayland: Ensure to set gtk_surface dbus properties after hide()