[gnome-software/wip/rancell/gobject-32bit-crash] Fix GObject arguments not working on 32 bit systems



commit 31c9dd212156afbb2422188cb59ee8acb5a0719f
Author: Robert Ancell <robert ancell canonical com>
Date:   Wed Aug 30 14:16:14 2017 +1200

    Fix GObject arguments not working on 32 bit systems

 lib/gs-cmd.c                            |    6 +-
 lib/gs-plugin-types.h                   |   84 ++++++++++++++----------------
 plugins/flatpak/gs-self-test.c          |   10 ++--
 plugins/shell-extensions/gs-self-test.c |    2 +-
 src/gs-loading-page.c                   |    2 +-
 src/gs-overview-page.c                  |    2 +-
 src/gs-update-monitor.c                 |    2 +-
 src/gs-updates-page.c                   |    2 +-
 8 files changed, 52 insertions(+), 58 deletions(-)
---
diff --git a/lib/gs-cmd.c b/lib/gs-cmd.c
index 1a8876e..08c81c3 100644
--- a/lib/gs-cmd.c
+++ b/lib/gs-cmd.c
@@ -415,7 +415,7 @@ main (int argc, char **argv)
        if (g_getenv ("GS_CMD_NO_INITIAL_REFRESH") == NULL) {
                g_autoptr(GsPluginJob) plugin_job = NULL;
                plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                                "age", G_MAXUINT,
+                                                "age", (guint64) G_MAXUINT,
                                                 "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                                 NULL);
                ret = gs_plugin_loader_job_action (self->plugin_loader, plugin_job,
@@ -622,7 +622,7 @@ main (int argc, char **argv)
                        if (list != NULL)
                                g_object_unref (list);
                        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_GET_RECENT,
-                                                        "age", cache_age,
+                                                        "age", (guint64) cache_age,
                                                         "refine-flags", self->refine_flags,
                                                         "max-results", self->max_results,
                                                         NULL);
@@ -682,7 +682,7 @@ main (int argc, char **argv)
                g_autoptr(GsPluginJob) plugin_job = NULL;
                refresh_flags = gs_cmd_refresh_flag_from_string (argv[2]);
                plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                                "age", cache_age,
+                                                "age", (guint64) cache_age,
                                                 "refresh-flags", refresh_flags,
                                                 NULL);
                ret = gs_plugin_loader_job_action (self->plugin_loader, plugin_job,
diff --git a/lib/gs-plugin-types.h b/lib/gs-plugin-types.h
index 244b323..f31dbf9 100644
--- a/lib/gs-plugin-types.h
+++ b/lib/gs-plugin-types.h
@@ -152,34 +152,34 @@ typedef enum {
  *
  * The refine flags.
  **/
-#define GS_PLUGIN_REFINE_FLAGS_DEFAULT                 (0u)
-#define GS_PLUGIN_REFINE_FLAGS_USE_HISTORY             (1u << 0) /* unused, TODO: perhaps ->STATE */
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_LICENSE         (1u << 1)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_URL             (1u << 2)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_DESCRIPTION     (1u << 3)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SIZE            (1u << 4)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING          (1u << 5)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION         (1u << 6)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_HISTORY         (1u << 7)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SETUP_ACTION    (1u << 8)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPDATE_DETAILS  (1u << 9)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN          (1u << 10)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RELATED         (1u << 11)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_MENU_PATH       (1u << 12)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ADDONS          (1u << 13)
-#define GS_PLUGIN_REFINE_FLAGS_ALLOW_PACKAGES          (1u << 14) /* TODO: move to request */
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPDATE_SEVERITY (1u << 15)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPGRADE_REMOVED (1u << 16)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE      (1u << 17)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEWS         (1u << 18)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEW_RATINGS  (1u << 19)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_KEY_COLORS      (1u << 20)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON            (1u << 21)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_PERMISSIONS     (1u << 22)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN_HOSTNAME (1u << 23)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN_UI       (1u << 24)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RUNTIME         (1u << 25)
-#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SCREENSHOTS     (1u << 26)
+#define GS_PLUGIN_REFINE_FLAGS_DEFAULT                 ((guint64) 0)
+#define GS_PLUGIN_REFINE_FLAGS_USE_HISTORY             ((guint64) 1 << 0) /* unused, TODO: perhaps ->STATE */
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_LICENSE         ((guint64) 1 << 1)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_URL             ((guint64) 1 << 2)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_DESCRIPTION     ((guint64) 1 << 3)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SIZE            ((guint64) 1 << 4)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING          ((guint64) 1 << 5)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION         ((guint64) 1 << 6)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_HISTORY         ((guint64) 1 << 7)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SETUP_ACTION    ((guint64) 1 << 8)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPDATE_DETAILS  ((guint64) 1 << 9)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN          ((guint64) 1 << 10)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RELATED         ((guint64) 1 << 11)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_MENU_PATH       ((guint64) 1 << 12)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ADDONS          ((guint64) 1 << 13)
+#define GS_PLUGIN_REFINE_FLAGS_ALLOW_PACKAGES          ((guint64) 1 << 14) /* TODO: move to request */
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPDATE_SEVERITY ((guint64) 1 << 15)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPGRADE_REMOVED ((guint64) 1 << 16)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE      ((guint64) 1 << 17)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEWS         ((guint64) 1 << 18)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEW_RATINGS  ((guint64) 1 << 19)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_KEY_COLORS      ((guint64) 1 << 20)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON            ((guint64) 1 << 21)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_PERMISSIONS     ((guint64) 1 << 22)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN_HOSTNAME ((guint64) 1 << 23)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN_UI       ((guint64) 1 << 24)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_RUNTIME         ((guint64) 1 << 25)
+#define GS_PLUGIN_REFINE_FLAGS_REQUIRE_SCREENSHOTS     ((guint64) 1 << 26)
 typedef guint64 GsPluginRefineFlags;
 
 /**
@@ -198,14 +198,11 @@ typedef guint64 GsPluginRefineFlags;
  * the session is idle and bandwidth is unmetered as the amount of data
  * and IO may be large.
  **/
-typedef enum {
-       GS_PLUGIN_REFRESH_FLAGS_NONE                    = 0,
-       GS_PLUGIN_REFRESH_FLAGS_METADATA                = 1 << 0,
-       GS_PLUGIN_REFRESH_FLAGS_PAYLOAD                 = 1 << 1,
-       GS_PLUGIN_REFRESH_FLAGS_INTERACTIVE             = 1 << 2,
-       /*< private >*/
-       GS_PLUGIN_REFRESH_FLAGS_LAST
-} GsPluginRefreshFlags;
+#define GS_PLUGIN_REFRESH_FLAGS_NONE                   ((guint64) 0)
+#define GS_PLUGIN_REFRESH_FLAGS_METADATA               ((guint64) 1 << 0)
+#define GS_PLUGIN_REFRESH_FLAGS_PAYLOAD                        ((guint64) 1 << 1)
+#define GS_PLUGIN_REFRESH_FLAGS_INTERACTIVE            ((guint64) 1 << 2)
+typedef guint64 GsPluginRefreshFlags;
 
 /**
  * GsPluginRule:
@@ -335,15 +332,12 @@ typedef enum {
  * treated as fatal errors and are reported to the in-app notification system
  * where they may or may not be shown depending on policy.
  **/
-typedef enum {
-       GS_PLUGIN_FAILURE_FLAGS_NONE                    = 0,
-       GS_PLUGIN_FAILURE_FLAGS_USE_EVENTS              = 1 << 0,
-       GS_PLUGIN_FAILURE_FLAGS_FATAL_ANY               = 1 << 1,
-       GS_PLUGIN_FAILURE_FLAGS_FATAL_AUTH              = 1 << 2,
-       GS_PLUGIN_FAILURE_FLAGS_NO_CONSOLE              = 1 << 3,
-       /*< private >*/
-       GS_PLUGIN_FAILURE_FLAGS_LAST
-} GsPluginFailureFlags;
+#define GS_PLUGIN_FAILURE_FLAGS_NONE                   ((guint64) 0)
+#define GS_PLUGIN_FAILURE_FLAGS_USE_EVENTS             ((guint64) 1 << 0)
+#define GS_PLUGIN_FAILURE_FLAGS_FATAL_ANY              ((guint64) 1 << 1)
+#define GS_PLUGIN_FAILURE_FLAGS_FATAL_AUTH             ((guint64) 1 << 2)
+#define GS_PLUGIN_FAILURE_FLAGS_NO_CONSOLE             ((guint64) 1 << 3)
+typedef guint64 GsPluginFailureFlags;
 
 G_END_DECLS
 
diff --git a/plugins/flatpak/gs-self-test.c b/plugins/flatpak/gs-self-test.c
index 3eb00e3..7090bf8 100644
--- a/plugins/flatpak/gs-self-test.c
+++ b/plugins/flatpak/gs-self-test.c
@@ -303,7 +303,7 @@ gs_plugins_flatpak_app_with_runtime_func (GsPluginLoader *plugin_loader)
        /* refresh the appstream metadata */
        g_object_unref (plugin_job);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", G_MAXUINT,
+                                        "age", (guint64) G_MAXUINT,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
        ret = gs_plugin_loader_job_action (plugin_loader, plugin_job, NULL, &error);
@@ -539,7 +539,7 @@ gs_plugins_flatpak_app_missing_runtime_func (GsPluginLoader *plugin_loader)
        /* refresh the appstream metadata */
        g_object_unref (plugin_job);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", G_MAXUINT,
+                                        "age", (guint64) G_MAXUINT,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
        ret = gs_plugin_loader_job_action (plugin_loader, plugin_job, NULL, &error);
@@ -1067,7 +1067,7 @@ gs_plugins_flatpak_ref_func (GsPluginLoader *plugin_loader)
        /* refresh the appstream metadata */
        g_object_unref (plugin_job);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", 0,
+                                        "age", (guint64) 0,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
        ret = gs_plugin_loader_job_action (plugin_loader, plugin_job, NULL, &error);
@@ -1300,7 +1300,7 @@ gs_plugins_flatpak_app_update_func (GsPluginLoader *plugin_loader)
        /* refresh the appstream metadata */
        g_object_unref (plugin_job);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", G_MAXUINT,
+                                        "age", (guint64) G_MAXUINT,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
        ret = gs_plugin_loader_job_action (plugin_loader, plugin_job, NULL, &error);
@@ -1347,7 +1347,7 @@ gs_plugins_flatpak_app_update_func (GsPluginLoader *plugin_loader)
        /* refresh the appstream metadata */
        g_object_unref (plugin_job);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", 0, /* force now */
+                                        "age", (guint64) 0, /* force now */
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA |
                                                          GS_PLUGIN_REFRESH_FLAGS_PAYLOAD,
                                         NULL);
diff --git a/plugins/shell-extensions/gs-self-test.c b/plugins/shell-extensions/gs-self-test.c
index b9b0187..0fc8679 100644
--- a/plugins/shell-extensions/gs-self-test.c
+++ b/plugins/shell-extensions/gs-self-test.c
@@ -88,7 +88,7 @@ gs_plugins_shell_extensions_remote_func (GsPluginLoader *plugin_loader)
        /* refresh the metadata */
        g_setenv ("GS_SELF_TEST_SHELL_EXTENSIONS_XML_FN", xml_fn, TRUE);
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", G_MAXUINT,
+                                        "age", (guint64) G_MAXUINT,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
        ret = gs_plugin_loader_job_action (plugin_loader, plugin_job, NULL, &error);
diff --git a/src/gs-loading-page.c b/src/gs-loading-page.c
index 03664ba..8bb3582 100644
--- a/src/gs-loading-page.c
+++ b/src/gs-loading-page.c
@@ -132,7 +132,7 @@ gs_loading_page_load (GsLoadingPage *self)
        /* ensure that at least some metadata of any age is present, and also
         * spin up the plugins enough as to prime caches */
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
-                                        "age", G_MAXUINT,
+                                        "age", (guint64) G_MAXUINT,
                                         "failure-flags", GS_PLUGIN_FAILURE_FLAGS_USE_EVENTS,
                                         "refresh-flags", GS_PLUGIN_REFRESH_FLAGS_METADATA,
                                         NULL);
diff --git a/src/gs-overview-page.c b/src/gs-overview-page.c
index d0ad617..385c29e 100644
--- a/src/gs-overview-page.c
+++ b/src/gs-overview-page.c
@@ -583,7 +583,7 @@ gs_overview_page_load (GsOverviewPage *self)
 
                priv->loading_recent = TRUE;
                plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_GET_RECENT,
-                                                "age", 60 * 60 * 24 * 60,
+                                                "age", (guint64) (60 * 60 * 24 * 60),
                                                 "max-results", 20,
                                                 "failure-flags", GS_PLUGIN_FAILURE_FLAGS_USE_EVENTS,
                                                 "refine-flags", GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING |
diff --git a/src/gs-update-monitor.c b/src/gs-update-monitor.c
index ebba1ae..5453e29 100644
--- a/src/gs-update-monitor.c
+++ b/src/gs-update-monitor.c
@@ -473,7 +473,7 @@ check_updates (GsUpdateMonitor *monitor)
        plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
                                         "failure-flags", GS_PLUGIN_FAILURE_FLAGS_NONE,
                                         "refresh-flags", refresh_flags,
-                                        "age", 60 * 60 * 24,
+                                        "age", (guint64) (60 * 60 * 24),
                                         NULL);
        gs_plugin_loader_job_process_async (monitor->plugin_loader, plugin_job,
                                            monitor->cancellable,
diff --git a/src/gs-updates-page.c b/src/gs-updates-page.c
index 6e7374a..6db3b39 100644
--- a/src/gs-updates-page.c
+++ b/src/gs-updates-page.c
@@ -1270,7 +1270,7 @@ gs_updates_page_get_new_updates (GsUpdatesPage *self)
                                         "failure-flags", GS_PLUGIN_FAILURE_FLAGS_USE_EVENTS,
                                         "refine-flags", refresh_flags,
                                         "refresh-flags", refresh_flags,
-                                        "age", 10 * 60,
+                                        "age", (guint64) (10 * 60),
                                         NULL);
        gs_plugin_loader_job_process_async (self->plugin_loader, plugin_job,
                                            self->cancellable_refresh,


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