summaryrefslogtreecommitdiff
path: root/libwnck/pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'libwnck/pager.c')
-rw-r--r--libwnck/pager.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libwnck/pager.c b/libwnck/pager.c
index c769d62..8561546 100644
--- a/libwnck/pager.c
+++ b/libwnck/pager.c
@@ -61,6 +61,8 @@
struct _WnckPagerPrivate
{
+ WnckHandle *handle;
+
WnckScreen *screen;
int n_rows; /* really columns for vertical orientation */
@@ -284,6 +286,8 @@ wnck_pager_finalize (GObject *object)
pager->priv->dnd_activate = 0;
}
+ g_clear_object (&pager->priv->handle);
+
G_OBJECT_CLASS (wnck_pager_parent_class)->finalize (object);
}
@@ -291,12 +295,16 @@ static void
_wnck_pager_set_screen (WnckPager *pager)
{
GdkScreen *gdkscreen;
+ int screen_number;
if (!gtk_widget_has_screen (GTK_WIDGET (pager)))
return;
gdkscreen = gtk_widget_get_screen (GTK_WIDGET (pager));
- pager->priv->screen = wnck_screen_get (gdk_x11_screen_get_screen_number (gdkscreen));
+ screen_number = gdk_x11_screen_get_screen_number (gdkscreen);
+
+ pager->priv->screen = _wnck_handle_get_screen (pager->priv->handle,
+ screen_number);
if (!wnck_pager_set_layout_hint (pager))
{
@@ -2194,6 +2202,7 @@ wnck_pager_new (void)
WnckPager *pager;
pager = g_object_new (WNCK_TYPE_PAGER, NULL);
+ pager->priv->handle = g_object_ref (_wnck_get_handle ());
return GTK_WIDGET (pager);
}