[retro-gtk] core: Make set_default_controller() take a controller type param



commit 7e00df606e49cc2c12a7bd98c10fe7becb473f0b
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Tue Nov 7 15:00:30 2017 +0100

    core: Make set_default_controller() take a controller type param

 retro-gtk/retro-core-view.c |    2 +-
 retro-gtk/retro-core.c      |   27 +++++++++------------------
 retro-gtk/retro-core.h      |    5 +++--
 3 files changed, 13 insertions(+), 21 deletions(-)
---
diff --git a/retro-gtk/retro-core-view.c b/retro-gtk/retro-core-view.c
index 2db4e99..3f3f9c2 100644
--- a/retro-gtk/retro-core-view.c
+++ b/retro-gtk/retro-core-view.c
@@ -639,7 +639,7 @@ retro_core_view_set_as_default_controller (RetroCoreView *self,
        type < RETRO_CONTROLLER_TYPE_COUNT;
        type++) {
     controller = retro_core_view_as_controller (self, type);
-    retro_core_set_default_controller (core, controller);
+    retro_core_set_default_controller (core, type, controller);
     g_object_unref (controller);
   }
 }
diff --git a/retro-gtk/retro-core.c b/retro-gtk/retro-core.c
index ac12e43..84bcaad 100644
--- a/retro-gtk/retro-core.c
+++ b/retro-gtk/retro-core.c
@@ -1767,31 +1767,22 @@ retro_core_get_controller_capabilities (RetroCore *self)
 /**
  * retro_core_set_default_controller:
  * @self: a #RetroCore
+ * @controller_type: a #RetroControllerType
  * @controller: (nullable): a #RetroController
  *
- * Uses @controller as the default controller for its type. When a port has no
- * controller plugged plugged into it, the core will use the default controllers
- * instead.
+ * Uses @controller as the default controller for the given type. When a port
+ * has no controller plugged plugged into it, the core will use the default
+ * controllers instead.
  */
 void
-retro_core_set_default_controller (RetroCore       *self,
-                                   RetroController *controller)
+retro_core_set_default_controller (RetroCore           *self,
+                                   RetroControllerType  controller_type,
+                                   RetroController     *controller)
 {
-  RetroControllerType controller_type;
-  RetroControllerType masked_controller_type;
-
   g_return_if_fail (RETRO_IS_CORE (self));
+  g_return_if_fail (controller_type < RETRO_CONTROLLER_TYPE_COUNT);
 
-  controller_type = retro_controller_get_controller_type (controller);
-  masked_controller_type = controller_type & RETRO_CONTROLLER_TYPE_TYPE_MASK;
-
-  if (masked_controller_type >= RETRO_CONTROLLER_TYPE_COUNT) {
-    g_critical ("Unexpected controller type: %d.", controller_type);
-
-    return;
-  }
-
-  g_set_object (&self->default_controllers[masked_controller_type], controller);
+  g_set_object (&self->default_controllers[controller_type], controller);
 }
 
 /**
diff --git a/retro-gtk/retro-core.h b/retro-gtk/retro-core.h
index 5dac16a..e08bdb1 100644
--- a/retro-gtk/retro-core.h
+++ b/retro-gtk/retro-core.h
@@ -55,8 +55,9 @@ GBytes *retro_core_get_memory (RetroCore       *self,
 void retro_core_set_memory (RetroCore       *self,
                             RetroMemoryType  memory_type,
                             GBytes          *bytes);
-void retro_core_set_default_controller (RetroCore       *self,
-                                        RetroController *controller);
+void retro_core_set_default_controller (RetroCore           *self,
+                                        RetroControllerType  controller_type,
+                                        RetroController     *controller);
 void retro_core_set_controller (RetroCore       *self,
                                 guint            port,
                                 RetroController *controller);


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