[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 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