- Fix cups discovery the first time we discover a device

This commit is contained in:
Bastien Nocera 2009-08-11 11:39:34 +00:00
parent 6ea11c034f
commit 385d00dc07
3 changed files with 66 additions and 1 deletions

View File

@ -0,0 +1,28 @@
From 35ffd5a6dafd7e38c7d8c9502608314a44919302 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 12:23:39 +0100
Subject: [PATCH 1/2] Don't abort cups backend on property change
Make sure the cups backend doesn't abort when trying to
access a property that's not Discovering.
---
cups/main.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index 2fbfe7e..9c24734 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -506,6 +506,9 @@ static DBusHandlerResult filter_func(DBusConnection *connection, DBusMessage *me
dbus_message_iter_init(message, &iter);
dbus_message_iter_get_basic(&iter, &name);
+ if (name == NULL ||
+ strcmp(name, "Discovering") != 0)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
dbus_message_iter_next(&iter);
dbus_message_iter_recurse(&iter, &value_iter);
dbus_message_iter_get_basic(&value_iter, &discovering);
--
1.6.2.5

View File

@ -0,0 +1,30 @@
From b29e1cb433454391da92720c3ff87373d9d60500 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 12:24:58 +0100
Subject: [PATCH 2/2] Actually read the CreateDevice reply
Fixes aborts when the printer isn't a known device.
---
cups/main.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index 9c24734..ba9864f 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -371,9 +371,9 @@ static void remote_device_found(const char *adapter, const char *bdaddr, const c
if (!reply)
return;
- } else {
- if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE)
- return;
+ }
+ if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE) {
+ return;
}
id = device_get_ieee1284_id(adapter, object_path);
--
1.6.2.5

View File

@ -1,7 +1,7 @@
Summary: Bluetooth utilities
Name: bluez
Version: 4.47
Release: 3%{?dist}
Release: 4%{?dist}
License: GPLv2+
Group: Applications/System
Source: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.bz2
@ -23,6 +23,8 @@ Patch3: bluez-activate-wacom-mode2.patch
Patch4: bluez-socket-mobile-cf-connection-kit.patch
# http://thread.gmane.org/gmane.linux.bluez.kernel/2396
Patch5: 0001-Add-sixaxis-cable-pairing-plugin.patch
Patch6: 0001-Don-t-abort-cups-backend-on-property-change.patch
Patch7: 0002-Actually-read-the-CreateDevice-reply.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
URL: http://www.bluez.org/
@ -129,6 +131,8 @@ This includes hidd, dund and pand.
%patch3 -p1 -b .wacom
%patch4 -p1 -b .socket-mobile
%patch5 -p1 -b .cable-pairing
%patch6 -p1
%patch7 -p1
%build
libtoolize -f -c
@ -268,6 +272,9 @@ fi
%config(noreplace) %{_sysconfdir}/sysconfig/pand
%changelog
* Tue Aug 11 2009 Bastien Nocera <bnocera@redhat.com> 4.47-4
- Fix cups discovery the first time we discover a device
* Mon Aug 10 2009 Ville Skyttä <ville.skytta@iki.fi> - 4.47-3
- Use bzipped upstream tarball.