From d99d943c90aa0e2c14c85e7e877dd1cc36003c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Mon, 25 Mar 2013 22:21:55 +0100 Subject: [PATCH] display: make a function to queue the dirty display allocation trick --- src/virt-viewer-display.c | 23 +++++++++++++---------- src/virt-viewer-display.h | 1 + 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c index 23f145f..e509092 100644 --- a/src/virt-viewer-display.c +++ b/src/virt-viewer-display.c @@ -503,11 +503,21 @@ void virt_viewer_display_get_desktop_size(VirtViewerDisplay *display, } +void virt_viewer_display_queue_resize(VirtViewerDisplay *display) +{ + VirtViewerDisplayPrivate *priv = display->priv; + GtkWidget *child = gtk_bin_get_child(GTK_BIN(display)); + + if (child && gtk_widget_get_visible(child)) { + priv->dirty = TRUE; + gtk_widget_queue_resize(GTK_WIDGET(display)); + } +} + void virt_viewer_display_set_zoom_level(VirtViewerDisplay *display, guint zoom) { VirtViewerDisplayPrivate *priv = display->priv; - GtkWidget *child = gtk_bin_get_child(GTK_BIN(display)); if (zoom < 10) zoom = 10; @@ -515,10 +525,7 @@ void virt_viewer_display_set_zoom_level(VirtViewerDisplay *display, zoom = 400; priv->zoom_level = zoom; - if (child && gtk_widget_get_visible(child)) { - priv->dirty = TRUE; - gtk_widget_queue_resize(GTK_WIDGET(display)); - } + virt_viewer_display_queue_resize(display); } @@ -533,13 +540,9 @@ void virt_viewer_display_set_zoom(VirtViewerDisplay *display, gboolean zoom) { VirtViewerDisplayPrivate *priv = display->priv; - GtkWidget *child = gtk_bin_get_child(GTK_BIN(display)); priv->zoom = zoom; - if (child && gtk_widget_get_visible(child)) { - priv->dirty = TRUE; - gtk_widget_queue_resize(GTK_WIDGET(display)); - } + virt_viewer_display_queue_resize(display); } diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h index 21d6fa4..17b44a9 100644 --- a/src/virt-viewer-display.h +++ b/src/virt-viewer-display.h @@ -122,6 +122,7 @@ void virt_viewer_display_release_cursor(VirtViewerDisplay *display); void virt_viewer_display_close(VirtViewerDisplay *display); void virt_viewer_display_set_enabled(VirtViewerDisplay *display, gboolean enabled); gboolean virt_viewer_display_get_selectable(VirtViewerDisplay *display); +void virt_viewer_display_queue_resize(VirtViewerDisplay *display); G_END_DECLS