[retro-gtk] core: Port api_version to C



commit 1f9d570f10b28ce0f9c7e50d481c3537f8f65caa
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Thu Jul 20 13:24:55 2017 +0200

    core: Port api_version to C
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777489

 retro-gtk/core.vala    |    9 +++------
 retro-gtk/retro-core.c |   17 +++++++++++++++++
 2 files changed, 20 insertions(+), 6 deletions(-)
---
diff --git a/retro-gtk/core.vala b/retro-gtk/core.vala
index d58dec8..ae50823 100644
--- a/retro-gtk/core.vala
+++ b/retro-gtk/core.vala
@@ -77,6 +77,7 @@ public class Core : Object {
                return result;
        }
 
+       private extern uint get_api_version_real ();
        /**
         * The version of Libretro used by the module.
         *
@@ -84,14 +85,10 @@ public class Core : Object {
         * compatibility.
         */
        public uint api_version {
-               get {
-                       push_cb_data ();
-                       var result = module.api_version ();
-                       pop_cb_data ();
-                       return result;
-               }
+               get { return get_api_version_real (); }
        }
 
+
        /**
         * The system informations.
         */
diff --git a/retro-gtk/retro-core.c b/retro-gtk/retro-core.c
index faf8526..700e7ea 100644
--- a/retro-gtk/retro-core.c
+++ b/retro-gtk/retro-core.c
@@ -323,6 +323,23 @@ retro_core_load_medias (RetroCore* self,
   g_free (uri);
 }
 
+// FIXME Make static as soon as possible.
+guint
+retro_core_get_api_version_real (RetroCore *self)
+{
+  guint result;
+  RetroApiVersion api_version;
+
+  g_return_val_if_fail (self != NULL, 0U);
+
+  retro_core_push_cb_data (self);
+  api_version = retro_module_get_api_version (self->module);
+  result = api_version ();
+  retro_core_pop_cb_data ();
+
+  return result;
+}
+
 void retro_core_set_environment_interface (RetroCore *self);
 void retro_core_set_callbacks (RetroCore *self);
 


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