d63d23abc3
Fix build with glib 2.40 - Patch from upstream git; Fix fallout in openSUSE:Factory:Staging:F OBS-URL: https://build.opensuse.org/request/show/232097 OBS-URL: https://build.opensuse.org/package/show/Base:System/bluez?expand=0&rev=164
125 lines
3.3 KiB
Diff
125 lines
3.3 KiB
Diff
From 166ef636d7e8a1d7d70f1e7d2ae849add0eab555 Mon Sep 17 00:00:00 2001
|
|
From: Szymon Janc <szymon.janc@tieto.com>
|
|
Date: Thu, 17 Apr 2014 15:59:45 +0200
|
|
Subject: unit: Fix removing invalid source in test-hfp
|
|
|
|
Since GLib 2.39 calling g_source_remove on already removed source
|
|
is causing critical warning. This was causing unit/test-hfp to
|
|
fail when running with GLib 2.40.
|
|
|
|
./unit/test-hfp
|
|
/hfp/test_init:
|
|
(./unit/test-hfp:28878): GLib-CRITICAL **: Source ID 1 was not found
|
|
when attempting to remove it
|
|
Trace/breakpoint trap
|
|
|
|
diff --git a/unit/test-hfp.c b/unit/test-hfp.c
|
|
index 445fcb7..20aa0b5 100644
|
|
--- a/unit/test-hfp.c
|
|
+++ b/unit/test-hfp.c
|
|
@@ -121,6 +121,8 @@ static gboolean test_handler(GIOChannel *channel, GIOCondition cond,
|
|
g_assert(!pdu->valid);
|
|
context_quit(context);
|
|
|
|
+ context->watch_id = 0;
|
|
+
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -187,7 +189,8 @@ static void execute_context(struct context *context)
|
|
{
|
|
g_main_loop_run(context->main_loop);
|
|
|
|
- g_source_remove(context->watch_id);
|
|
+ if (context->watch_id)
|
|
+ g_source_remove(context->watch_id);
|
|
|
|
g_main_loop_unref(context->main_loop);
|
|
|
|
--
|
|
cgit v0.10.1
|
|
|
|
|
|
|
|
From 87dc59894d8ea1396200a5bc66a4d2a5f7666f41 Mon Sep 17 00:00:00 2001
|
|
From: Szymon Janc <szymon.janc@tieto.com>
|
|
Date: Thu, 17 Apr 2014 15:59:46 +0200
|
|
Subject: gobex: Fix removing invalid source
|
|
|
|
Since GLib 2.39 calling g_source_remove on already removed source
|
|
is causing critical warning.
|
|
|
|
This was affecting unit/test-gobex-transfer when running with
|
|
GLib 2.40.
|
|
|
|
/gobex/test_packet_get_req_suspend_resume:
|
|
(./unit/test-gobex-transfer:28879): GLib-CRITICAL **: Source ID 263 was
|
|
not found when attempting to remove it
|
|
Trace/breakpoint trap
|
|
|
|
diff --git a/gobex/gobex.c b/gobex/gobex.c
|
|
index 887e2a2..3848884 100644
|
|
--- a/gobex/gobex.c
|
|
+++ b/gobex/gobex.c
|
|
@@ -263,6 +263,8 @@ static gboolean req_timeout(gpointer user_data)
|
|
g_error_free(err);
|
|
pending_pkt_free(p);
|
|
|
|
+ p->timeout_id = 0;
|
|
+
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -778,7 +780,9 @@ static gboolean pending_req_abort(GObex *obex, GError **err)
|
|
|
|
p->cancelled = TRUE;
|
|
|
|
- g_source_remove(p->timeout_id);
|
|
+ if (p->timeout_id > 0)
|
|
+ g_source_remove(p->timeout_id);
|
|
+
|
|
p->timeout = G_OBEX_ABORT_TIMEOUT;
|
|
p->timeout_id = g_timeout_add_seconds(p->timeout, req_timeout, obex);
|
|
|
|
@@ -922,7 +926,11 @@ static void g_obex_srm_suspend(GObex *obex)
|
|
struct pending_pkt *p = obex->pending_req;
|
|
GObexPacket *req;
|
|
|
|
- g_source_remove(p->timeout_id);
|
|
+ if (p->timeout_id > 0) {
|
|
+ g_source_remove(p->timeout_id);
|
|
+ p->timeout_id = 0;
|
|
+ }
|
|
+
|
|
p->suspended = TRUE;
|
|
|
|
req = g_obex_packet_new(G_OBEX_OP_GET, TRUE,
|
|
@@ -1017,8 +1025,10 @@ static void auth_challenge(GObex *obex)
|
|
|
|
/* Remove it as pending and add it back to the queue so it gets sent
|
|
* again */
|
|
- g_source_remove(p->timeout_id);
|
|
- p->timeout_id = 0;
|
|
+ if (p->timeout_id > 0) {
|
|
+ g_source_remove(p->timeout_id);
|
|
+ p->timeout_id = 0;
|
|
+ }
|
|
obex->pending_req = NULL;
|
|
g_obex_send_internal(obex, p, NULL);
|
|
}
|
|
@@ -1076,7 +1086,9 @@ static gboolean parse_response(GObex *obex, GObexPacket *rsp)
|
|
* continue sending responses until the transfer is finished
|
|
*/
|
|
if (opcode == G_OBEX_OP_GET && rspcode == G_OBEX_RSP_CONTINUE) {
|
|
- g_source_remove(p->timeout_id);
|
|
+ if (p->timeout_id > 0)
|
|
+ g_source_remove(p->timeout_id);
|
|
+
|
|
p->timeout_id = g_timeout_add_seconds(p->timeout, req_timeout,
|
|
obex);
|
|
return FALSE;
|
|
--
|
|
cgit v0.10.1
|
|
|
|
|