[virt-tools-list] [PATCH] Disconnect fullscreen map-event handler when leaving fullscreen
Jonathon Jongsma
jjongsma at redhat.com
Tue Nov 12 17:35:01 UTC 2013
Can I ask you to push this for me since I still don't have commit access?
----- Original Message -----
> From: "Marc-André Lureau" <mlureau at redhat.com>
> To: "Jonathon Jongsma" <jjongsma at redhat.com>
> Cc: virt-tools-list at redhat.com
> Sent: Friday, November 8, 2013 4:47:27 AM
> Subject: Re: [virt-tools-list] [PATCH] Disconnect fullscreen map-event handler when leaving fullscreen
>
> ack
>
> ----- Original Message -----
> > When we enter fullscreen mode before the window is shown, we set up a
> > signal
> > handler to enter fullscreen mode when the window is mapped. If we then
> > leave
> > fullscreen mode before the window is mapped, we don't disconnect this
> > handler,
> > so it will still enter fullscreen mode when it is shown.
> >
> > Fixes rhbz #1009513
> > ---
> > src/virt-viewer-window.c | 24 ++++++++++++++----------
> > 1 file changed, 14 insertions(+), 10 deletions(-)
> >
> > diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
> > index 5ce1d98..5003872 100644
> > --- a/src/virt-viewer-window.c
> > +++ b/src/virt-viewer-window.c
> > @@ -486,6 +486,16 @@ virt_viewer_window_move_to_monitor(VirtViewerWindow
> > *self)
> > mon.height);
> > }
> >
> > +static gboolean
> > +mapped(GtkWidget *widget, GdkEvent *event G_GNUC_UNUSED,
> > + VirtViewerWindow *self)
> > +{
> > + g_signal_handlers_disconnect_by_func(widget, mapped, self);
> > + self->priv->fullscreen = FALSE;
> > + virt_viewer_window_enter_fullscreen(self,
> > self->priv->fullscreen_monitor);
> > + return FALSE;
> > +}
> > +
> > void
> > virt_viewer_window_leave_fullscreen(VirtViewerWindow *self)
> > {
> > @@ -493,6 +503,10 @@ virt_viewer_window_leave_fullscreen(VirtViewerWindow
> > *self)
> > GtkWidget *menu = GTK_WIDGET(gtk_builder_get_object(priv->builder,
> > "top-menu"));
> > GtkCheckMenuItem *check =
> > GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder,
> > "menu-view-fullscreen"));
> >
> > + /* if we enter and leave fullscreen mode before being shown, make sure
> > to
> > + * disconnect the mapped signal handler */
> > + g_signal_handlers_disconnect_by_func(priv->window, mapped, self);
> > +
> > if (!priv->fullscreen)
> > return;
> >
> > @@ -511,16 +525,6 @@ virt_viewer_window_leave_fullscreen(VirtViewerWindow
> > *self)
> >
> > }
> >
> > -static gboolean
> > -mapped(GtkWidget *widget, GdkEvent *event G_GNUC_UNUSED,
> > - VirtViewerWindow *self)
> > -{
> > - g_signal_handlers_disconnect_by_func(widget, mapped, self);
> > - self->priv->fullscreen = FALSE;
> > - virt_viewer_window_enter_fullscreen(self,
> > self->priv->fullscreen_monitor);
> > - return FALSE;
> > -}
> > -
> > void
> > virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gint monitor)
> > {
> > --
> > 1.8.3.1
> >
> > _______________________________________________
> > virt-tools-list mailing list
> > virt-tools-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/virt-tools-list
> >
>
More information about the virt-tools-list
mailing list