Re: [PATCH spice-gtk 2/4] Add a desktop-integration helper class

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

 



Hi

On Sun, Jun 24, 2012 at 1:39 AM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>> it can be simplified, resulting in simpler API and less code.
>
> No it cannot, using a hidden window for this is just plain wrong! One is
> supposed to use real toplevel windows with the inhibit API.
>

Well, in fact that toplevel_xid is optionnal, and is used for
eventually taking application screenshots (only if possible).

gnome-session/gsm-inhibit-dialog.c
        xid = gsm_inhibitor_peek_toplevel_xid (inhibitor);
        g_debug ("GsmInhibitDialog: inhibitor has XID %u", xid);
        if (xid > 0 && dialog->priv->have_xrender) {
                pixbuf = get_pixbuf_for_window (gdkdisplay, xid,
DEFAULT_SNAPSHOT_SIZE, DEFAULT_SNAPSHOT_SIZE);
                if (pixbuf == NULL) {
                        g_debug ("GsmInhibitDialog: unable to read
pixbuf from %u", xid);
                }


You may just pass XID 0:

gdbus call --session --dest org.gnome.SessionManager --object-path
/org/gnome/SessionManager --method org.gnome.SessionManager.Inhibit
gnome-boxes 0 foobar 1

The toplevel window of a spice-gtk widget may change, so there is no
reliable way to keep an Inhibitor with a valid XID, except by creating
a private one, which is not useful, since the XID isn't even
necessary.

Let's just use 0 there

-- 
Marc-André Lureau
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]