[PATCH virt-viewer 1/2] Fix rebuild of accelerators menu when loading from file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's not enough to set the property to notify of its change. Add a
virt_viewer_app_set_enable_accel() helper, and call it after the changes
to accelerators are made when loading from file.

I verified the menu is correctly built when connection from controller
or command line too.
---
 src/virt-viewer-app.c  | 13 ++++++++++---
 src/virt-viewer-app.h  |  1 +
 src/virt-viewer-file.c |  3 ++-
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index e4ffe4e..4a61d48 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -1476,7 +1476,7 @@ virt_viewer_app_set_property (GObject *object, guint property_id,
         break;
 
     case PROP_ENABLE_ACCEL:
-        priv->enable_accel = g_value_get_boolean(value);
+        virt_viewer_app_set_enable_accel(self, g_value_get_boolean(value));
         break;
 
     case PROP_KIOSK:
@@ -1840,6 +1840,13 @@ virt_viewer_app_clear_hotkeys(VirtViewerApp *self)
 }
 
 void
+virt_viewer_app_set_enable_accel(VirtViewerApp *self, gboolean enable)
+{
+    self->priv->enable_accel = enable;
+    g_object_notify(G_OBJECT(self), "enable-accel");
+}
+
+void
 virt_viewer_app_set_hotkeys(VirtViewerApp *self, const gchar *hotkeys_str)
 {
     gchar **hotkey, **hotkeys = NULL;
@@ -1851,12 +1858,12 @@ virt_viewer_app_set_hotkeys(VirtViewerApp *self, const gchar *hotkeys_str)
 
     if (!hotkeys || g_strv_length(hotkeys) == 0) {
         g_strfreev(hotkeys);
-        g_object_set(self, "enable-accel", FALSE, NULL);
+        virt_viewer_app_set_enable_accel(self, FALSE);
         return;
     }
 
     virt_viewer_app_clear_hotkeys(self);
-    g_object_set(self, "enable-accel", TRUE, NULL);
+    virt_viewer_app_set_enable_accel(self, TRUE);
 
     for (hotkey = hotkeys; *hotkey != NULL; hotkey++) {
         gchar *key = strstr(*hotkey, "=");
diff --git a/src/virt-viewer-app.h b/src/virt-viewer-app.h
index 3ee1f0a..7c77957 100644
--- a/src/virt-viewer-app.h
+++ b/src/virt-viewer-app.h
@@ -102,6 +102,7 @@ void virt_viewer_app_clear_hotkeys(VirtViewerApp *app);
 gint virt_viewer_app_get_n_initial_displays(VirtViewerApp* self);
 gint virt_viewer_app_get_initial_monitor_for_display(VirtViewerApp* self, gint display);
 void virt_viewer_app_set_uuid_string(VirtViewerApp* self, const gchar* uuid_string);
+void virt_viewer_app_set_enable_accel(VirtViewerApp *app, gboolean enable);
 
 G_END_DECLS
 
diff --git a/src/virt-viewer-file.c b/src/virt-viewer-file.c
index 238ffea..639d96e 100644
--- a/src/virt-viewer-file.c
+++ b/src/virt-viewer-file.c
@@ -636,7 +636,6 @@ virt_viewer_file_fill_app(VirtViewerFile* self, VirtViewerApp *app, GError **err
 
 
     virt_viewer_app_clear_hotkeys(app);
-    g_object_set(G_OBJECT(app), "enable-accel", TRUE, NULL);
 
     {
         gchar *val;
@@ -661,6 +660,8 @@ virt_viewer_file_fill_app(VirtViewerFile* self, VirtViewerApp *app, GError **err
         }
     }
 
+    virt_viewer_app_set_enable_accel(app, TRUE);
+
     if (virt_viewer_file_is_set(self, "fullscreen"))
         g_object_set(G_OBJECT(app), "fullscreen",
             virt_viewer_file_get_fullscreen(self), NULL);
-- 
1.8.4.2

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux