summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* red_dispatcher: Remove unused signal.h includePavel Grunt2015-11-091-1/+0
|
* worker: group add_memslotMarc-André Lureau2015-11-091-18/+18
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove unused NUM_CURSORS defineMarc-André Lureau2015-11-091-1/+0
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: make more functions staticMarc-André Lureau2015-11-091-32/+32
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: remove unused functionMarc-André Lureau2015-11-091-7/+0
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: rename {put,ref}_red_drawableMarc-André Lureau2015-11-091-9/+9
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: s/destroy_surface/surface_unrefMarc-André Lureau2015-11-091-26/+28
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove unused parameter from remove_shadowFrediano Ziglio2015-11-091-2/+2
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: remove some useless countersMarc-André Lureau2015-11-091-13/+0
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* dispatcher: remove receive_data and send_data functionsMarc-André Lureau2015-11-092-35/+3
| | | | | | Use read_safe/write_safe instead which do the same stuff Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* server: create display and cursor channels in RedWorker constructorMarc-André Lureau2015-11-094-100/+48
| | | | | | | | Instead of requiring the dispatcher to send a message to the worker to create the display channel and cursor channel, just create them when the worker is created. Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: use RED_CHANNEL_CLIENT for dccMarc-André Lureau2015-11-061-52/+53
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* spicevmc: Return early when instance has no device statePavel Grunt2015-11-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | Same approach as in spice_server_char_device_wakeup(). Avoid segmentation fault when the webdav channel (spice port channel) is used with the vnc display: #0 0x00007ffff7aab734 in spice_char_device_state_opaque_get (dev=0x0) at char_device.c:720 #1 0x00007ffff7b0850c in spice_server_port_event (sin=<optimized out>, event=<optimized out>) at spicevmc.c:578 #2 0x0000555555787ba4 in set_guest_connected (port=<optimized out>, guest_connected=1) at hw/char/virtio-console.c:89 #3 0x0000555555678d7c in control_out (len=<optimized out>, buf=0x55555775c3a0, vser=0x5555578d1540) at /home/pgrunt/RH/qemu/hw/char/virtio-serial-bus.c:404 #4 0x0000555555678d7c in control_out (vdev=0x5555578d1540, vq=0x555557941bc8) at /home/pgrunt/RH/qemu/hw/char/virtio-serial-bus.c:441 #5 0x000055555588eb98 in aio_dispatch (ctx=0x5555562e1a50) at aio-posix.c:160 #6 0x00005555558829ee in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at async.c:226 #7 0x00007ffff2010e3a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #8 0x000055555588d8fb in main_loop_wait () at main-loop.c:211 #9 0x000055555588d8fb in main_loop_wait (timeout=<optimized out>) at main-loop.c:256 #10 0x000055555588d8fb in main_loop_wait (nonblocking=<optimized out>) at main-loop.c:504 #11 0x000055555561b664 in main () at vl.c:1891
* worker: move shadow_new() and container_new()Marc-André Lureau2015-11-063-42/+56
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: use more DCC_TO_WORKERMarc-André Lureau2015-11-061-21/+21
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move some compress stats to displayMarc-André Lureau2015-11-063-104/+107
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: rename WORKER_FOREACH_DCC_SAFE macro to FOREACH_DCCMarc-André Lureau2015-11-061-20/+18
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: remove unused WORKER_TO_DCC macroMarc-André Lureau2015-11-061-6/+0
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: rename red_pipe_add_drawable* to dcc_add_drawable*Marc-André Lureau2015-11-061-7/+7
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move delta computationMarc-André Lureau2015-11-061-8/+9
| | | | | | Move delta computation from red_add_drawable to red_current_add_with_shadow. Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move MonitorsConfig to display channelMarc-André Lureau2015-11-053-41/+41
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: minor simplificationMarc-André Lureau2015-11-052-19/+24
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: don't process drawable if it can't be allocatedFrediano Ziglio2015-11-051-4/+6
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move DisplayChannel structMarc-André Lureau2015-11-052-32/+32
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* style: prefer early return to large if blocksJonathon Jongsma2015-11-041-22/+24
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Remove unnecessary typedef from pixmap-cache.hJonathon Jongsma2015-11-041-2/+0
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: Move some dpi code to display channelMarc-André Lureau2015-11-043-118/+123
| | | | | | | | This commit moves some DrawablePipeItem declarations to display-channel.h, though the function implementations remain in red_worker.c until they can be disentangled some more. Acked-by: Frediano Ziglio <fziglio@redhat.com>
* cursor: fix wrong logic when initializing the channelFabiano Fidêncio2015-11-041-1/+1
| | | | | | | | | | | | | | | | It's a regression introduced by commit e601e920bd5. The logic error was introduced when trying to achieve the following code[0]. but rewritten to prefer an early return, which was wrogly negated. [0]: if (cursor_is_connected(worker) && !COMMON_CHANNEL(worker->cursor_channel)->during_target_migrate) { red_channel_pipes_add_type(RED_CHANNEL(worker->cursor_channel), PIPE_ITEM_TYPE_CURSOR_INIT); } Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Palette cache: Use correct marshal functionJonathon Jongsma2015-11-041-6/+8
| | | | | | | | | | | In order to invalidate a single palette cache item, we were using spice_marshall_msg_cursor_inval_one(), which is the marshal function used to send an invalidation message for the Cursor channel's cache. This didn't cause any problems because SPICE_MSG_CURSOR_INVAL_ONE and SPICE_MSG_DISPLAY_INVAL_PALETTE have the same message ID and parameters, but it's better to use the correct marshalling function. Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Various changes in RedWorker and CursorChannel related to error and warning ↵Marc-André Lureau2015-11-043-19/+27
| | | | | | | messages. Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Move monitors_config to displayMarc-André Lureau2015-11-043-96/+96
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* s/process_drawable/process_drawMarc-André Lureau2015-11-041-4/+4
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* server: move renderer members to DisplayChannelMarc-André Lureau2015-11-031-16/+15
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove only assigned set_client_capabilities_pending fieldFrediano Ziglio2015-11-031-3/+0
| | | | | | | This field is only assigned and never readed so can be removed. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* server: move bitmap related to spice-bitmap-utilsMarc-André Lureau2015-11-037-167/+226
| | | | | | | Also remove some unused function parameters from bitmap_get_graduality_level() Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: remove unused worker parameterMarc-André Lureau2015-11-031-7/+7
| | | | | Acked-by: Pavel Grunt <pgrunt@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Store QXLInstance in CursorItemMarc-André Lureau2015-11-031-31/+39
| | | | | | | | | | Doing so allows us to remove the extra QXLInstance parameter from cursor_item_unref() and makes the code a bit cleaner. Also add cursor_item_ref(). Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* server: make more of cursor privateMarc-André Lureau2015-11-035-64/+89
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* server: make cursor channel privateMarc-André Lureau2015-11-036-70/+94
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* Move pipe item enumerations out of red_worker.hMarc-André Lureau2015-11-023-18/+26
| | | | | | | | | | Move the cursor-specific pipe item types to cursor-channel.h, and the display-specific types to red_worker.c. Only leave the common definitions in red_worker.h. This prepares for splitting the display channel into a separate file. Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* server: move display_channel_client_create() to dcc_new()Marc-André Lureau2015-11-024-65/+83
| | | | | | | Move function from server/red_worker.c to new server/display-channel.c. Acked-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* tree: move that to a separate unitMarc-André Lureau2015-11-025-255/+311
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: s/repoll/poll_triesMarc-André Lureau2015-11-021-12/+12
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Various minor style changes to worker and cursor channelMarc-André Lureau2015-10-302-17/+25
| | | | | Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove assertion on alloc_drawableMarc-André Lureau2015-10-301-1/+3
| | | | | | | | | | | There is no guarantee in the code that this can't be hit, so we should cope with it (the condition can be reached easily by running the server without waiting for blocked clients or pipe size) The following commit will attempt to address this. Acked-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
* __new_channel -> red_worker_new_channel()Marc-André Lureau2015-10-303-59/+45
| | | | | | | | Rename and lightly refactor the function that creates new common channels for RedWorker (essentially Cursor and Display channels). Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* Make cursor_channel_disconnect a CursorChannel methodMarc-André Lureau2015-10-303-3/+5
| | | | | | | | The first argument should be CursorChannel* rather than RedChannel* since it's essentially a CursorChannel method. Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* server: Hide the MJPEG encoder internals from red_worker.cFrancois Gouget2015-10-303-42/+59
| | | | Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
* server: Move the MJPEG encoder functions to mjpeg_encoder.cFrancois Gouget2015-10-303-75/+78
| | | | | | | Note that this requires some adjustments to the encode_frame() parameters to avoid red_worker-specific types. Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
* server: Move mjpeg_encoder_new() to the end of mjpeg_encoder.cFrancois Gouget2015-10-301-40/+34
| | | | | | This also allows getting rid of a couple of forward definitions. Signed-off-by: Francois Gouget <fgouget@codeweavers.com>