systray: Bail out if the plug window is gone

Instead of crashing when deferencing a NULL pointer.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=755313
This commit is contained in:
Olivier Fourdan 2016-09-07 13:25:24 +02:00
parent d7894dbc44
commit 0b6c5b4620

View File

@ -204,6 +204,12 @@ shell_tray_icon_click (ShellTrayIcon *icon,
gdk_error_trap_push (); gdk_error_trap_push ();
remote_window = gtk_socket_get_plug_window (GTK_SOCKET (icon->priv->socket)); remote_window = gtk_socket_get_plug_window (GTK_SOCKET (icon->priv->socket));
if (remote_window == NULL)
{
g_warning ("shell tray: plug window is gone");
gdk_error_trap_pop_ignored ();
return;
}
xwindow = GDK_WINDOW_XID (remote_window); xwindow = GDK_WINDOW_XID (remote_window);
xdisplay = GDK_WINDOW_XDISPLAY (remote_window); xdisplay = GDK_WINDOW_XDISPLAY (remote_window);
screen = gdk_window_get_screen (remote_window); screen = gdk_window_get_screen (remote_window);