[patch] Removing a printer in CUPS does not remove the device in colord #4232

michaelrsweet opened this Issue Nov 20, 2012 · 2 comments


None yet
1 participant

michaelrsweet commented Nov 20, 2012

Version: 1.6-current
CUPS.org User: hughsient

It's been reported to me that removing a queue or printer from CUPS does not "clean up" the devices in colord on Linux. This is due to a typo (my fault!) where we were passing the device-id to DeleteDevice and not the object-path as specified in the colord XML service descriptor.

The attached patch fixes the problem, and allows cups to clean up devices in colord when a printer is manually removed.

I'm happy to licence this change as BSD, although being a one patch I don't think it matters. Please review. Thanks,



michaelrsweet commented Dec 13, 2012

CUPS.org User: mike

Fixed in Subversion repository.


michaelrsweet commented Dec 13, 2012


From 3465c4c2c0be02347cc3e659bb6247ffff880c63 Mon Sep 17 00:00:00 2001
From: Richard Hughes richard@hughsie.com
Date: Tue, 20 Nov 2012 16:51:20 +0000
Subject: [PATCH] Correctly call DeleteDevice when using colord on linux

scheduler/colorman.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scheduler/colorman.c b/scheduler/colorman.c
index ddb7a6f..bd43dab 100644
--- a/scheduler/colorman.c
+++ b/scheduler/colorman.c
@@ -1128,7 +1128,7 @@ colord_delete_device(
message = COLORD_DBUS_MSG(COLORD_DBUS_PATH, "DeleteDevice");

dbus_message_iter_init_append(message, &args);

  • dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &device_id);
  • dbus_message_iter_append_basic(&args, DBUS_TYPE_OBJECT_PATH, &device_path);


* Send the DeleteDevice request synchronously...


@michaelrsweet michaelrsweet added this to the Stable milestone Mar 17, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment