compositor: drop wl_display_add_object()
diff --git a/compositor/compositor.c b/compositor/compositor.c
index 9c01468..0daf206 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -1635,8 +1635,6 @@
 	device->input_device.resource.object.implementation =
 		(void (**)(void)) &input_device_interface;
 	device->input_device.resource.data = device;
-	wl_display_add_object(ec->wl_display,
-			      &device->input_device.resource.object);
 	wl_display_add_global(ec->wl_display,
 			      &device->input_device.resource.object, NULL);
 
@@ -1861,7 +1859,6 @@
 	wl_list_init(&output->frame_callback_list);
 
 	output->resource.object.interface = &wl_output_interface;
-	wl_display_add_object(c->wl_display, &output->resource.object);
 	wl_display_add_global(c->wl_display, &output->resource.object,
 			      wlsc_output_post_geometry);
 }
diff --git a/compositor/meego-tablet-shell.c b/compositor/meego-tablet-shell.c
index 8d7dfe0..26c4c08 100644
--- a/compositor/meego-tablet-shell.c
+++ b/compositor/meego-tablet-shell.c
@@ -656,7 +656,6 @@
 	shell->resource.object.interface = &meego_tablet_shell_interface;
 	shell->resource.object.implementation =
 		(void (**)(void)) &tablet_shell_interface;
-	wl_display_add_object(compositor->wl_display, &shell->resource.object);
 
 	/* FIXME: This will make the object available to all clients. */
 	wl_display_add_global(compositor->wl_display,
diff --git a/compositor/screenshooter.c b/compositor/screenshooter.c
index 2cf1be6..9df13d7 100644
--- a/compositor/screenshooter.c
+++ b/compositor/screenshooter.c
@@ -64,6 +64,5 @@
 		(void(**)(void)) &screenshooter_implementation;
 	shooter->ec = ec;
 
-	wl_display_add_object(ec->wl_display, &shooter->base);
 	wl_display_add_global(ec->wl_display, &shooter->base, NULL);
 };
diff --git a/compositor/shell.c b/compositor/shell.c
index 251d17a..2333ad6 100644
--- a/compositor/shell.c
+++ b/compositor/shell.c
@@ -510,7 +510,8 @@
 	drag->drag_offer.resource.object.implementation =
 		(void (**)(void)) &drag_offer_interface;
 
-	wl_display_add_object(display, &drag->drag_offer.resource.object);
+	wl_display_add_global(display,
+			      &drag->drag_offer.resource.object, NULL);
 
 	target = pick_surface(device, &sx, &sy);
 	wl_input_device_set_pointer_focus(device, NULL, time, 0, 0, 0, 0);
@@ -660,8 +661,9 @@
 	selection->selection_offer.resource.object.implementation =
 		(void (**)(void)) &selection_offer_interface;
 
-	wl_display_add_object(display,
-			      &selection->selection_offer.resource.object);
+	wl_display_add_global(display,
+			      &selection->selection_offer.resource.object,
+			      NULL);
 
 	if (wd->selection) {
 		wl_resource_post_event(&wd->selection->resource,
@@ -828,7 +830,6 @@
 
 	shell->object.interface = &wl_shell_interface;
 	shell->object.implementation = (void (**)(void)) &shell_interface;
-	wl_display_add_object(ec->wl_display, &shell->object);
 	if (wl_display_add_global(ec->wl_display, &shell->object, NULL))
 		return -1;
 
diff --git a/compositor/xserver-launcher.c b/compositor/xserver-launcher.c
index 72b02dd..51c2352 100644
--- a/compositor/xserver-launcher.c
+++ b/compositor/xserver-launcher.c
@@ -797,7 +797,6 @@
 	mxs->xserver.resource.object.interface = &xserver_interface;
 	mxs->xserver.resource.object.implementation =
 		(void (**)(void)) &xserver_implementation;
-	wl_display_add_object(display, &mxs->xserver.resource.object);
 	wl_display_add_global(display, &mxs->xserver.resource.object,
 			      wlsc_xserver_bind);