[mutter] backend: Use g_signal_emit instead of g_signal_emit_by_name



commit 6791d1b8e2b02b41e6ca97592c0e9efb1f0cb274
Author: Jonas Ådahl <jadahl gmail com>
Date:   Wed Mar 29 14:30:10 2017 +0800

    backend: Use g_signal_emit instead of g_signal_emit_by_name
    
    No functional changes, just a minor cleanup.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777732

 src/backends/meta-backend-private.h       |    5 ++
 src/backends/meta-backend.c               |   84 +++++++++++++++++++---------
 src/backends/native/meta-backend-native.c |    5 +-
 3 files changed, 65 insertions(+), 29 deletions(-)
---
diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h
index 392def8..e5acc1c 100644
--- a/src/backends/meta-backend-private.h
+++ b/src/backends/meta-backend-private.h
@@ -167,4 +167,9 @@ gboolean meta_is_stage_views_scaled (void);
 
 MetaInputSettings *meta_backend_get_input_settings (MetaBackend *backend);
 
+void meta_backend_notify_keymap_changed (MetaBackend *backend);
+
+void meta_backend_notify_keymap_layout_group_changed (MetaBackend *backend,
+                                                      unsigned int locked_group);
+
 #endif /* META_BACKEND_PRIVATE_H */
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 71a7865..7d3ebfa 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -44,6 +44,18 @@
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-monitor-manager-dummy.h"
 
+enum
+{
+  KEYMAP_CHANGED,
+  KEYMAP_LAYOUT_GROUP_CHANGED,
+  LAST_DEVICE_CHANGED,
+  EXPERIMENTAL_FEATURES_CHANGED,
+
+  N_SIGNALS
+};
+
+static guint signals[N_SIGNALS];
+
 static MetaBackend *_backend;
 
 /**
@@ -472,7 +484,7 @@ mutter_settings_changed (GSettings   *settings,
 
   changed = update_experimental_features (backend);
   if (changed)
-    g_signal_emit_by_name (backend, "experimental-features-changed");
+    g_signal_emit (backend, signals[EXPERIMENTAL_FEATURES_CHANGED], 0);
 }
 
 gboolean
@@ -516,30 +528,34 @@ meta_backend_class_init (MetaBackendClass *klass)
   klass->select_stage_events = meta_backend_real_select_stage_events;
   klass->get_relative_motion_deltas = meta_backend_real_get_relative_motion_deltas;
 
-  g_signal_new ("keymap-changed",
-                G_TYPE_FROM_CLASS (object_class),
-                G_SIGNAL_RUN_LAST,
-                0,
-                NULL, NULL, NULL,
-                G_TYPE_NONE, 0);
-  g_signal_new ("keymap-layout-group-changed",
-                G_TYPE_FROM_CLASS (object_class),
-                G_SIGNAL_RUN_LAST,
-                0,
-                NULL, NULL, NULL,
-                G_TYPE_NONE, 1, G_TYPE_UINT);
-  g_signal_new ("last-device-changed",
-                G_TYPE_FROM_CLASS (object_class),
-                G_SIGNAL_RUN_LAST,
-                0,
-                NULL, NULL, NULL,
-                G_TYPE_NONE, 1, G_TYPE_INT);
-  g_signal_new ("experimental-features-changed",
-                G_TYPE_FROM_CLASS (object_class),
-                G_SIGNAL_RUN_LAST,
-                0,
-                NULL, NULL, NULL,
-                G_TYPE_NONE, 0);
+  signals[KEYMAP_CHANGED] =
+    g_signal_new ("keymap-changed",
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE, 0);
+  signals[KEYMAP_LAYOUT_GROUP_CHANGED] =
+    g_signal_new ("keymap-layout-group-changed",
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE, 1, G_TYPE_UINT);
+  signals[LAST_DEVICE_CHANGED] =
+    g_signal_new ("last-device-changed",
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE, 1, G_TYPE_INT);
+  signals[EXPERIMENTAL_FEATURES_CHANGED] =
+    g_signal_new ("experimental-features-changed",
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE, 0);
 }
 
 static gboolean
@@ -757,8 +773,8 @@ update_last_device (MetaBackend *backend)
                                               priv->current_device_id);
   device_type = clutter_input_device_get_device_type (device);
 
-  g_signal_emit_by_name (backend, "last-device-changed",
-                         priv->current_device_id);
+  g_signal_emit (backend, signals[LAST_DEVICE_CHANGED], 0,
+                 priv->current_device_id);
 
   switch (device_type)
     {
@@ -1012,3 +1028,17 @@ meta_backend_get_dnd (MetaBackend *backend)
 
   return priv->dnd;
 }
+
+void
+meta_backend_notify_keymap_changed (MetaBackend *backend)
+{
+  g_signal_emit (backend, signals[KEYMAP_CHANGED], 0);
+}
+
+void
+meta_backend_notify_keymap_layout_group_changed (MetaBackend *backend,
+                                                 unsigned int locked_group)
+{
+  g_signal_emit (backend, signals[KEYMAP_LAYOUT_GROUP_CHANGED], 0,
+                 locked_group);
+}
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 7b02efe..d9b49af 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -485,7 +485,7 @@ meta_backend_native_set_keymap (MetaBackend *backend,
 
   clutter_evdev_set_keyboard_map (manager, keymap);
 
-  g_signal_emit_by_name (backend, "keymap-changed", 0);
+  meta_backend_notify_keymap_changed (backend);
 
   xkb_keymap_unref (keymap);
 }
@@ -502,8 +502,9 @@ meta_backend_native_lock_layout_group (MetaBackend *backend,
                                        guint        idx)
 {
   ClutterDeviceManager *manager = clutter_device_manager_get_default ();
+
   clutter_evdev_set_keyboard_layout_index (manager, idx);
-  g_signal_emit_by_name (backend, "keymap-layout-group-changed", idx, 0);
+  meta_backend_notify_keymap_layout_group_changed (backend, idx);
 }
 
 static void


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