[PATCH libinput 4/5] tablet: remove libinput_tool_(un)ref()

Stephen Chandler Paul thatslyude at gmail.com
Wed Jun 25 23:31:21 PDT 2014


Signed-off-by: Stephen Chandler Paul <thatslyude at gmail.com>
---
 src/evdev-tablet.c     |  1 -
 src/libinput-private.h |  1 -
 src/libinput.c         | 19 +------------------
 src/libinput.h         | 30 +++---------------------------
 4 files changed, 4 insertions(+), 47 deletions(-)

diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c
index 710e391..c754060 100644
--- a/src/evdev-tablet.c
+++ b/src/evdev-tablet.c
@@ -281,7 +281,6 @@ tablet_get_tool(struct libinput *li,
 		*tool = (struct libinput_tool) {
 			.type = type,
 			.serial = serial,
-			.refcount = 1,
 		};
 
 		list_insert(&li->tool_list, &tool->link);
diff --git a/src/libinput-private.h b/src/libinput-private.h
index a396d78..d429ad3 100644
--- a/src/libinput-private.h
+++ b/src/libinput-private.h
@@ -95,7 +95,6 @@ struct libinput_tool {
 	struct list link;
 	uint32_t serial;
 	enum libinput_tool_type type;
-	int refcount;
 };
 
 typedef void (*libinput_source_dispatch_t)(void *data);
diff --git a/src/libinput.c b/src/libinput.c
index a00f6b5..d7adfac 100644
--- a/src/libinput.c
+++ b/src/libinput.c
@@ -583,23 +583,6 @@ libinput_tool_get_serial(struct libinput_tool *tool)
 	return tool->serial;
 }
 
-LIBINPUT_EXPORT void
-libinput_tool_ref(struct libinput_tool *tool)
-{
-	tool->refcount++;
-}
-
-LIBINPUT_EXPORT void
-libinput_tool_unref(struct libinput_tool *tool)
-{
-	assert(tool->refcount > 0);
-
-	if (--tool->refcount == 0) {
-		list_remove(&tool->link);
-		free(tool);
-	}
-}
-
 struct libinput_source *
 libinput_add_fd(struct libinput *libinput,
 		int fd,
@@ -733,7 +716,7 @@ libinput_unref(struct libinput *libinput)
 	}
 
 	list_for_each_safe(tool, next_tool, &libinput->tool_list, link) {
-		libinput_tool_unref(tool);
+		free(tool);
 	}
 
 	libinput_timer_subsys_destroy(libinput);
diff --git a/src/libinput.h b/src/libinput.h
index c6a361c..f454af1 100644
--- a/src/libinput.h
+++ b/src/libinput.h
@@ -919,12 +919,9 @@ libinput_event_tablet_get_y_transformed(struct libinput_event_tablet *event,
  * @ingroup event_tablet
  *
  * Returns the tool that was in use during this event.
- * By default, the lifetime of each tool will stay valid for as long as it is
- * being used, and is destroyed when another tool comes into proximity. However,
- * the lifetime of the tool may be extended by using libinput_tool_ref() to
- * increment the reference count of the tool. This guarantees that whenever the
- * tool comes back into proximity of the tablet, that the same structure will be
- * used to represent the tool.
+ * Each tool object stays valid for the lifetime of each libinput context. This
+ * means that for a single physical tool, the same object will be returned with
+ * any events where it's in use even if after leaving proximity.
  *
  * @note On tablets where the serial number of tools is not reported, each tool
  * cannot be guaranteed to be unique.
@@ -1003,27 +1000,6 @@ libinput_tool_get_type(struct libinput_tool *tool);
 /**
  * @ingroup event_tablet
  *
- * Increment the ref count of tool by one
- *
- * @param tool The tool to increment the ref count of
- */
-void
-libinput_tool_ref(struct libinput_tool *tool);
-
-/**
- * @ingroup event_tablet
- *
- * Decrement the ref count of tool by one. When the ref count of tool reaches 0,
- * the memory allocated for tool will be freed.
- *
- * @param tool The tool to decrement the ref count of
- */
-void
-libinput_tool_unref(struct libinput_tool *tool);
-
-/**
- * @ingroup event_tablet
- *
  * Return the serial number of a tool
  *
  * @note Not all tablets report a serial number along with the type of tool
-- 
1.8.5.5



More information about the wayland-devel mailing list