diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-08-27 08:43:44 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-08-27 08:43:44 +0200 |
commit | 36a81133807e057e065c5f42383239e2f078312c (patch) | |
tree | 52f298d5c94bb2e93a526568de514ab58b3f33c3 /server | |
parent | 81e14d76d1ef99c8e69f3cd7e30e9bf186df1a35 (diff) | |
download | spice-36a81133807e057e065c5f42383239e2f078312c.tar.gz spice-36a81133807e057e065c5f42383239e2f078312c.tar.xz spice-36a81133807e057e065c5f42383239e2f078312c.zip |
red_get_cursor: avoid extra copy
Diffstat (limited to 'server')
-rw-r--r-- | server/red_parse_qxl.c | 8 |
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); } } |