summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2016-02-13 20:28:20 +0100
committerChristophe Fergeau <cfergeau@redhat.com>2018-04-23 14:36:39 +0200
commitdfae3d0be157d2615911d6ec3042229f93c990ba (patch)
treec9ae17388289f16147981978a2708903910dd55c
parent169d8462e3a2474536ef0666544ff1231ed0acf8 (diff)
qxl: Move red_drawable_unref/red_drawable_new
RedDrawable really is a RedDrawCmd which is parsed by red-parse-qxl.h Moreover, red_drawable_ref() is already defined inline in red-parse-qxl.h, and red_drawable_unref() is declared there too even if its code is still in red-worker.c This commit moves them close to the other functions creating/unref'ing QXL commands parsed by red-parse-qxl.h
-rw-r--r--server/red-parse-qxl.c20
-rw-r--r--server/red-parse-qxl.h1
-rw-r--r--server/red-worker.c20
3 files changed, 21 insertions, 20 deletions
diff --git a/server/red-parse-qxl.c b/server/red-parse-qxl.c
index 4a45c0f7..d5497521 100644
--- a/server/red-parse-qxl.c
+++ b/server/red-parse-qxl.c
@@ -1480,3 +1480,23 @@ void red_put_cursor_cmd(RedCursorCmd *red)
red_qxl_release_resource(red->qxl, red->release_info_ext);
}
}
+
+void red_drawable_unref(RedDrawable *red_drawable)
+{
+ if (--red_drawable->refs) {
+ return;
+ }
+ red_qxl_release_resource(red_drawable->qxl, red_drawable->release_info_ext);
+ red_put_drawable(red_drawable);
+ g_free(red_drawable);
+}
+
+RedDrawable *red_drawable_new(QXLInstance *qxl)
+{
+ RedDrawable * red = g_new0(RedDrawable, 1);
+
+ red->refs = 1;
+ red->qxl = qxl;
+
+ return red;
+}
diff --git a/server/red-parse-qxl.h b/server/red-parse-qxl.h
index a33f36ad..77e9f9b9 100644
--- a/server/red-parse-qxl.h
+++ b/server/red-parse-qxl.h
@@ -59,6 +59,7 @@ typedef struct RedDrawable {
} u;
} RedDrawable;
+RedDrawable *red_drawable_new(QXLInstance *qxl);
static inline RedDrawable *red_drawable_ref(RedDrawable *drawable)
{
drawable->refs++;
diff --git a/server/red-worker.c b/server/red-worker.c
index eb927f3e..8f806e8e 100644
--- a/server/red-worker.c
+++ b/server/red-worker.c
@@ -99,16 +99,6 @@ static int display_is_connected(RedWorker *worker)
red_channel_is_connected(RED_CHANNEL(worker->display_channel));
}
-void red_drawable_unref(RedDrawable *red_drawable)
-{
- if (--red_drawable->refs) {
- return;
- }
- red_qxl_release_resource(red_drawable->qxl, red_drawable->release_info_ext);
- red_put_drawable(red_drawable);
- g_free(red_drawable);
-}
-
static gboolean red_process_cursor_cmd(RedWorker *worker, const QXLCommandExt *ext)
{
RedCursorCmd *cursor_cmd;
@@ -165,16 +155,6 @@ static int red_process_cursor(RedWorker *worker, int *ring_is_empty)
return n;
}
-static RedDrawable *red_drawable_new(QXLInstance *qxl)
-{
- RedDrawable * red = g_new0(RedDrawable, 1);
-
- red->refs = 1;
- red->qxl = qxl;
-
- return red;
-}
-
static gboolean red_process_surface_cmd(RedWorker *worker, QXLCommandExt *ext, gboolean loadvm)
{
RedSurfaceCmd surface_cmd;