summaryrefslogtreecommitdiff
blob: 166c55496312bf5daf9cd1c46f5aa48074ac9487 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 73d6cd1d1e43a9d45c6d477bce69baba6a921f05 Mon Sep 17 00:00:00 2001
From: Vincent Untz <vuntz@gnome.org>
Date: Tue, 1 Feb 2011 15:53:34 +0100
Subject: [PATCH] libpanel-applet: Use right GdkScreen for focus request and menu

Calling gtk_widget_get_screen() on a widget embedded in a plug doesn't
necessarily return what you expect (because of
gtk_widget_get_toplevel()).

Instead, call gtk_window_get_screen() on the plug.

https://bugzilla.gnome.org/show_bug.cgi?id=632369
---
 libpanel-applet/panel-applet.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libpanel-applet/panel-applet.c b/libpanel-applet/panel-applet.c
index eb4bed2..86215c2 100644
--- a/libpanel-applet/panel-applet.c
+++ b/libpanel-applet/panel-applet.c
@@ -703,7 +703,7 @@ panel_applet_request_focus (PanelApplet	 *applet,
 
 	g_return_if_fail (PANEL_IS_APPLET (applet));
 
-	screen	= gtk_widget_get_screen (GTK_WIDGET (applet));
+	screen	= gtk_window_get_screen (GTK_WINDOW (applet->priv->plug));
 	root	= gdk_screen_get_root_window (screen);
 	display = gdk_screen_get_display (screen);
 
@@ -957,7 +957,7 @@ panel_applet_position_menu (GtkMenu   *menu,
 
 	applet = PANEL_APPLET (widget);
 
-	screen = gtk_widget_get_screen (widget);
+	screen = gtk_window_get_screen (GTK_WINDOW (applet->priv->plug));
 
 	gtk_widget_get_preferred_size (GTK_WIDGET (menu), &requisition, NULL);
 	gdk_window_get_origin (gtk_widget_get_window (widget),
-- 
1.7.3.4