forked from pool/gnome-bluetooth
Accepting request 126743 from home:badshah400:branches:GNOME:Factory
Add patches from upstream bugzilla to make pairing with devices work again. OBS-URL: https://build.opensuse.org/request/show/126743 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-bluetooth?expand=0&rev=101
This commit is contained in:
parent
a7084af2fe
commit
318d314b72
31
gnome-bluetooth-fix-pairing.patch
Normal file
31
gnome-bluetooth-fix-pairing.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 46212ad97de694db45af525cd200c52e6eafb93b Mon Sep 17 00:00:00 2001
|
||||
From: Sjoerd Simons <sjoerd@luon.net>
|
||||
Date: Sat, 30 Jun 2012 10:45:45 +0200
|
||||
Subject: [PATCH 1/2] Fix return of RequestConfirmation call
|
||||
|
||||
The bluez RequestConfirmation call expect either an empty message (on
|
||||
success) or an error (on failure) as return. For some reason the code
|
||||
tries to return a string on success though, contrary to even what the
|
||||
internal introspection data says causing gdbus to just throw a warning
|
||||
and bluez never getting a response... Causing pairing to fail.
|
||||
---
|
||||
wizard/main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wizard/main.c b/wizard/main.c
|
||||
index 417c84c..e7cc9cc 100644
|
||||
--- a/wizard/main.c
|
||||
+++ b/wizard/main.c
|
||||
@@ -261,7 +261,7 @@ matches_cb (GtkButton *button,
|
||||
invocation = g_object_get_data (G_OBJECT (button), "invocation");
|
||||
gtk_widget_set_sensitive (does_not_match_button, FALSE);
|
||||
gtk_widget_set_sensitive (matches_button, FALSE);
|
||||
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", ""));
|
||||
+ g_dbus_method_invocation_return_value (invocation, NULL);
|
||||
|
||||
g_object_set_data (G_OBJECT(does_not_match_button), "invocation", NULL);
|
||||
g_object_set_data (G_OBJECT(matches_button), "invocation", NULL);
|
||||
--
|
||||
1.7.10
|
||||
|
||||
|
49
gnome-bluetooth-fix-stuck-finish-page.patch
Normal file
49
gnome-bluetooth-fix-stuck-finish-page.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From f0a95b5d28ff55e9ed4b148d9872645ae3d8e049 Mon Sep 17 00:00:00 2001
|
||||
From: Sjoerd Simons <sjoerd@luon.net>
|
||||
Date: Sat, 30 Jun 2012 14:27:47 +0200
|
||||
Subject: [PATCH 2/2] When bailing from a connect attempt use
|
||||
_complete_in_idle
|
||||
|
||||
Currently bluetooth_client_connect_service complets it async operation
|
||||
directly when bailing (e.g. we don't have connectable service on the
|
||||
remote device). This causes the bluetooth wizard to get stuck in the
|
||||
Finishing page as it happens to go to this page *after* calling
|
||||
bluetooth_client_connect_service.
|
||||
|
||||
Simply make the async operation complete asynchronously (like it should)
|
||||
and everything is happy again :)
|
||||
---
|
||||
lib/bluetooth-client.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
|
||||
index 21bcd38..114f9ad 100644
|
||||
--- a/lib/bluetooth-client.c
|
||||
+++ b/lib/bluetooth-client.c
|
||||
@@ -547,12 +547,15 @@ add_device (Adapter *adapter,
|
||||
|
||||
v = g_variant_lookup_value (ret, "Alias", G_VARIANT_TYPE_STRING);
|
||||
alias = v ? g_variant_get_string (v, NULL) : NULL;
|
||||
+ printf ("Alias: %s\n", alias);
|
||||
|
||||
v = g_variant_lookup_value (ret, "Name", G_VARIANT_TYPE_STRING);
|
||||
name = v ? g_variant_get_string (v, NULL) : NULL;
|
||||
+ printf ("Name: %s\n", name);
|
||||
|
||||
v = g_variant_lookup_value (ret, "Class", G_VARIANT_TYPE_UINT32);
|
||||
type = v ? bluetooth_class_to_type (g_variant_get_uint32 (v)) : BLUETOOTH_TYPE_ANY;
|
||||
+ printf ("Class: %x\n", g_variant_get_uint32 (v));
|
||||
|
||||
v = g_variant_lookup_value (ret, "Icon", G_VARIANT_TYPE_STRING);
|
||||
icon = v ? g_variant_get_string (v, NULL) : "bluetooth";
|
||||
@@ -1870,7 +1873,7 @@ bluetooth_client_connect_service (BluetoothClient *client,
|
||||
|
||||
bail:
|
||||
g_simple_async_result_set_op_res_gboolean (simple, res);
|
||||
- g_simple_async_result_complete (simple);
|
||||
+ g_simple_async_result_complete_in_idle (simple);
|
||||
g_object_unref (simple);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.10
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 30 06:33:37 UTC 2012 - badshah400@gmail.com
|
||||
|
||||
- Added gnome-bluetooth-fix-pairing.patch and
|
||||
gnome-bluetooth-fix-stuck-finish-page.patch to enable pairing of
|
||||
devices again (bgo#679190, rh#819203).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 18 13:07:52 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
|
@ -27,6 +27,10 @@ Source: http://download.gnome.org/sources/gnome-bluetooth/3.4/%{name}-%{
|
||||
Source1: 61-gnome-bluetooth-rfkill.rules
|
||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/Packaging/Patches
|
||||
Patch0: lxde-support.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-bluetooth-fix-pairing.patch bgo#679190 rh#819203 badshah400@gmail.com -- This fixes gnome-bluetooth to finally pair with devices again, patch came from upstream bugzilla.
|
||||
Patch1: gnome-bluetooth-fix-pairing.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-bluetooth-fix-stuck-finish-page.patch bgo#679190 rh#819203 badshah400@gmail.com -- This fixes gnome-bluetooth from getting stuck in the finishing page.
|
||||
Patch2: gnome-bluetooth-fix-stuck-finish-page.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gnome-doc-utils-devel
|
||||
BuildRequires: gobject-introspection-devel
|
||||
@ -115,6 +119,8 @@ send files over bluetooth.
|
||||
%setup -q
|
||||
translation-update-upstream
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%if 0%{?BUILD_FROM_VCS}
|
||||
[ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
|
||||
|
Loading…
x
Reference in New Issue
Block a user