summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-08-27 08:43:44 +0200
committerGerd Hoffmann <kraxel@redhat.com>2010-08-27 08:43:44 +0200
commit36a81133807e057e065c5f42383239e2f078312c (patch)
tree52f298d5c94bb2e93a526568de514ab58b3f33c3
parent81e14d76d1ef99c8e69f3cd7e30e9bf186df1a35 (diff)
downloadspice-36a81133807e057e065c5f42383239e2f078312c.tar.gz
spice-36a81133807e057e065c5f42383239e2f078312c.tar.xz
spice-36a81133807e057e065c5f42383239e2f078312c.zip
red_get_cursor: avoid extra copy
-rw-r--r--server/red_parse_qxl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index 6fa6ac58..e6e700bf 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -1009,11 +1009,11 @@ static void red_get_cursor(RedMemSlotInfo *slots, int group_id,
&chunks, &qxl->chunk);
data = red_linearize_chunk(&chunks, size, &free_data);
red_put_data_chunks(&chunks);
- red->data = spice_malloc(size);
- memcpy(red->data, data, size);
-
if (free_data) {
- free(data);
+ red->data = data;
+ } else {
+ red->data = spice_malloc(size);
+ memcpy(red->data, data, size);
}
}