diff options
author | bigbear <ns@bigbear.dk> | 2024-02-08 03:08:54 +0100 |
---|---|---|
committer | bigbear <ns@bigbear.dk> | 2024-02-08 19:52:53 +0100 |
commit | 33d6c7101cee251b91b4f01b2ddde55b4b2d50d9 (patch) | |
tree | 49ae675f7d68b90415db69bfcd21fe84fa74013d | |
parent | 1dc1f18804969c191346b064cd232d3f5959b13c (diff) |
FIX back ports
-rw-r--r-- | deps/sysobj_early/gui/uri_handler.c | 5 | ||||
-rw-r--r-- | deps/sysobj_early/src/auto_free.c | 39 | ||||
-rw-r--r-- | hardinfo2/udisks2_util.c | 7 | ||||
-rw-r--r-- | hardinfo2/util.c | 3 | ||||
-rw-r--r-- | modules/benchmark/bench_results.c | 2 | ||||
-rw-r--r-- | shell/syncmanager.c | 52 |
6 files changed, 91 insertions, 17 deletions
diff --git a/deps/sysobj_early/gui/uri_handler.c b/deps/sysobj_early/gui/uri_handler.c index 055dbaca..de9f64a7 100644 --- a/deps/sysobj_early/gui/uri_handler.c +++ b/deps/sysobj_early/gui/uri_handler.c @@ -21,6 +21,11 @@ #include <stdio.h> #include "uri_handler.h" +//compatibility +#ifndef G_SPAWN_DEFAULT +#define G_SPAWN_DEFAULT 0 +#endif + static uri_handler uri_func = NULL; void uri_set_function(uri_handler f) { diff --git a/deps/sysobj_early/src/auto_free.c b/deps/sysobj_early/src/auto_free.c index 8439681f..9a10e27a 100644 --- a/deps/sysobj_early/src/auto_free.c +++ b/deps/sysobj_early/src/auto_free.c @@ -33,7 +33,17 @@ static struct { } af_stats; #endif -static GMutex free_lock; +//Compatibility +#ifndef G_SOURCE_REMOVE + #define G_SOURCE_REMOVE FALSE +#endif + +#ifndef G_SOURCE_CONTINUE + #define G_SOURCE_CONTINUE TRUE +#endif + + +static GMutex *free_lock = NULL; static GSList *free_list = NULL; static gboolean free_final = FALSE; static GTimer *auto_free_timer = NULL; @@ -95,10 +105,15 @@ gpointer auto_free_ex_(gpointer p, GDestroyNotify f, const char *file, int line, z->line = line; z->func = func; z->stamp = af_elapsed(); - g_mutex_lock(&free_lock); +#if GLIB_CHECK_VERSION(2,32,0) + if(free_lock==NULL) {free_lock=g_new(GMutex,1);g_mutex_init(free_lock);} +#else + if(free_lock==NULL) free_lock=g_mutex_new(); +#endif + g_mutex_lock(free_lock); free_list = g_slist_prepend(free_list, z); sysobj_stats.auto_free_len++; - g_mutex_unlock(&free_lock); + g_mutex_unlock(free_lock); return p; } @@ -113,10 +128,15 @@ gpointer auto_free_on_exit_ex_(gpointer p, GDestroyNotify f, const char *file, i z->line = line; z->func = func; z->stamp = -1.0; - g_mutex_lock(&free_lock); +#if GLIB_CHECK_VERSION(2,32,0) + if(free_lock==NULL) g_mutex_init(free_lock); +#else + if(free_lock==NULL) free_lock=g_mutex_new(); +#endif + g_mutex_lock(free_lock); free_list = g_slist_prepend(free_list, z); sysobj_stats.auto_free_len++; - g_mutex_unlock(&free_lock); + g_mutex_unlock(free_lock); return p; } @@ -140,7 +160,12 @@ static void free_auto_free_ex(gboolean thread_final) { if (!free_list) return; - g_mutex_lock(&free_lock); +#if GLIB_CHECK_VERSION(2,32,0) + if(free_lock==NULL) {free_lock=g_new(GMutex,1);g_mutex_init(free_lock);} +#else + if(free_lock==NULL) free_lock=g_mutex_new(); +#endif + g_mutex_lock(free_lock); if (DEBUG_AUTO_FREE) auto_free_msg("%llu total items in queue, but will free from thread %p only... ", sysobj_stats.auto_free_len, this_thread); for(l = free_list; l; l = n) { @@ -174,7 +199,7 @@ static void free_auto_free_ex(gboolean thread_final) { auto_free_msg("... freed %llu (from thread %p)", fc, this_thread); sysobj_stats.auto_freed += fc; sysobj_stats.auto_free_len -= fc; - g_mutex_unlock(&free_lock); + g_mutex_unlock(free_lock); } void free_auto_free_thread_final() { diff --git a/hardinfo2/udisks2_util.c b/hardinfo2/udisks2_util.c index 4c9a4c9b..e1567d84 100644 --- a/hardinfo2/udisks2_util.c +++ b/hardinfo2/udisks2_util.c @@ -279,7 +279,7 @@ void udiskd_free(udiskd *u) { udiskp* get_udisks2_partition_info(const gchar *part_path) { GVariant *v; - GDBusProxy *proxy; + GDBusProxy *proxy=NULL; GError *error = NULL; udiskp* partition; const gchar *str; @@ -294,7 +294,8 @@ udiskp* get_udisks2_partition_info(const gchar *part_path) { proxy = g_dbus_proxy_new_sync(udisks2_conn, G_DBUS_PROXY_FLAGS_NONE, NULL, UDISKS2_INTERFACE, part_path, DBUS_PROPERTIES_INTERFACE, NULL, &error); - if (error == NULL) { + + if ((proxy != NULL) && (error == NULL)) { v = get_dbus_property(proxy, UDISKS2_BLOCK_INTERFACE, "IdLabel"); if (v) { str = g_variant_get_string(v, NULL); @@ -628,7 +629,7 @@ GSList* get_udisks2_all_drives_info(void){ void udisks2_init(){ if (udisks2_conn == NULL){ - udisks2_conn = get_udisks2_connection(); + //FIXME udisks2_conn = get_udisks2_connection(); } } diff --git a/hardinfo2/util.c b/hardinfo2/util.c index 5e3b00aa..e12963c0 100644 --- a/hardinfo2/util.c +++ b/hardinfo2/util.c @@ -974,7 +974,10 @@ static GSList *modules_load(gchar ** module_list) } filenames = g_list_delete_link(filenames, item); } +#if GLIB_CHECK_VERSION(2,44,0) + //FIXME change this to not use g_steal_pointer g_list_free_full (g_steal_pointer (&filenames), g_object_unref); +#endif g_dir_close(dir); } diff --git a/modules/benchmark/bench_results.c b/modules/benchmark/bench_results.c index 28ce657d..42930d74 100644 --- a/modules/benchmark/bench_results.c +++ b/modules/benchmark/bench_results.c @@ -348,7 +348,7 @@ static void append_cpu_config(JsonObject *object, if (output->len) g_string_append(output, ", "); - g_string_append_printf(output, "%ldx %.2f %s", json_node_get_int(member_node), + g_string_append_printf(output, "%ldx %.2f %s", (long int)json_node_get_int(member_node), parse_frequency(member_name), _("MHz")); } diff --git a/shell/syncmanager.c b/shell/syncmanager.c index 86ba80a3..03e8b210 100644 --- a/shell/syncmanager.c +++ b/shell/syncmanager.c @@ -26,6 +26,10 @@ #include <stdarg.h> #include <string.h> +#ifndef SOUP_CHECK_VERSION + #define SOUP_CHECK_VERSION(a,b,c) 0 +#endif + typedef struct _SyncDialog SyncDialog; typedef struct _SyncNetArea SyncNetArea; typedef struct _SyncNetAction SyncNetAction; @@ -185,13 +189,19 @@ static SoupURI *sync_manager_get_proxy(void) static void ensure_soup_session(void) { if (!session) { -#if !SOUP_CHECK_VERSION(3,0,0) +#if SOUP_CHECK_VERSION(3,0,0) + session = soup_session_new_with_options("timeout", 10, NULL); +#else +#if SOUP_CHECK_VERSION(2,42,0) SoupURI *proxy = sync_manager_get_proxy(); session = soup_session_new_with_options( SOUP_SESSION_TIMEOUT, 10, SOUP_SESSION_PROXY_URI, proxy, NULL); #else - session = soup_session_new_with_options("timeout", 10, NULL); + SoupURI *proxy = sync_manager_get_proxy(); + session = soup_session_async_new_with_options( + SOUP_SESSION_TIMEOUT, 10, SOUP_SESSION_PROXY_URI, proxy, NULL); +#endif #endif } } @@ -226,16 +236,28 @@ static void sync_dialog_start_sync(SyncDialog *sd) g_main_loop_unref(loop); } +#if SOUP_CHECK_VERSION(2,42,0) static void got_response(GObject *source, GAsyncResult *res, gpointer user_data) +#else +static void got_response(SoupSession *source, SoupMessage *res, gpointer user_data) +#endif { SyncNetAction *sna = user_data; GInputStream *is; +#if SOUP_CHECK_VERSION(2,42,0) +#else + const guint8 *buf=NULL; + gsize len,datawritten; + SoupBuffer *soupmsg=NULL; +#endif +#if SOUP_CHECK_VERSION(2,42,0) is = soup_session_send_finish(session, res, &sna->error); if (is == NULL) goto out; if (sna->error != NULL) goto out; +#endif if (sna->entry->file_name != NULL) { gchar *path = g_build_filename(g_get_user_config_dir(), "hardinfo2", @@ -246,9 +268,21 @@ static void got_response(GObject *source, GAsyncResult *res, gpointer user_data) NULL, &sna->error); if (output != NULL) { +#if SOUP_CHECK_VERSION(2,42,0) g_output_stream_splice(G_OUTPUT_STREAM(output), is, G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, NULL, &sna->error); +#else + soupmsg=soup_message_body_flatten(res->response_body); + if(soupmsg){ + soup_buffer_get_data(soupmsg,&buf,&len); + DEBUG("got file with len: %u", (unsigned int)len); + if(len>0){ + g_output_stream_write_all(G_OUTPUT_STREAM(output),buf,len,&datawritten,NULL,&sna->error); + soup_buffer_free(soupmsg); + } + } +#endif } g_free(path); @@ -257,7 +291,9 @@ static void got_response(GObject *source, GAsyncResult *res, gpointer user_data) out: g_main_loop_quit(loop); +#if SOUP_CHECK_VERSION(2,42,0) g_object_unref(is); +#endif } static gboolean send_request_for_net_action(SyncNetAction *sna) @@ -276,19 +312,23 @@ static gboolean send_request_for_net_action(SyncNetAction *sna) msg = soup_message_new("POST", uri); -#if !SOUP_CHECK_VERSION(3, 0, 0) - soup_message_set_request(msg, "application/octet-stream", - SOUP_MEMORY_TAKE, contents, size); -#else +#if SOUP_CHECK_VERSION(3, 0, 0) GBytes *cont = g_bytes_new_static(contents,size); soup_message_set_request_body_from_bytes(msg, "application/octet-stream", cont); +#else + soup_message_set_request(msg, "application/octet-stream", + SOUP_MEMORY_TAKE, contents, size); #endif } #if SOUP_CHECK_VERSION(3, 0, 0) soup_session_send_async(session, msg, G_PRIORITY_DEFAULT, NULL, got_response, sna); #else +#if SOUP_CHECK_VERSION(2,42,0) soup_session_send_async(session, msg, NULL, got_response, sna); +#else + soup_session_queue_message(session, msg, got_response, sna); +#endif #endif g_main_loop_run(loop); |