summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PlaybackeCommand typoChristophe Fergeau2013-10-091-1/+1
|
* Fix an overlooked x11 client case.Jeremy White2013-10-091-0/+2
| | | | Signed-off-by: Jeremy White <jwhite@codeweavers.com>
* reds: remove dead codeMarc-André Lureau2013-10-081-33/+0
|
* reds: Fix 'asyc' typoChristophe Fergeau2013-10-081-23/+23
|
* Fix 'recive' typo throughout the code baseChristophe Fergeau2013-10-084-63/+63
| | | | 'receive' was mispelt 'recive' in multiple places.
* Namespace RECEIVE_BUF_SIZEChristophe Fergeau2013-10-083-9/+9
|
* server: handle red_get_surface_cmd() error explicitelyMarc-André Lureau2013-10-071-24/+32
| | | | | Don't ignore red_get_surface_cmd() error, and explicitely interrupt and free cmd before processing.
* server: plug some leaks on errorMarc-André Lureau2013-10-071-2/+7
| | | | | Plug what looks like memory leaks, that could be potentially be triggered by a misbehaving guest.
* server: inputs s/relase/releaseMarc-André Lureau2013-10-071-2/+2
|
* server: release all pressed keys on client disconnectMarc-André Lureau2013-10-071-7/+35
| | | | | | | | | | | | | Releasing modifiers keys unconditionally on disconnect leads to unexpected guest wakeups. To improve the situation, the server can release only the pressed keys, which will prevent the wakeup in most cases. Furthermore, it's not sufficient to release only the modifiers keys. Any key should be released on client disconnect to avoid sticky key press across connections. https://bugzilla.redhat.com/show_bug.cgi?id=871240
* server: mark deprecated symbolsMarc-André Lureau2013-10-072-22/+30
|
* server/tests: avoid using deprecated symbolsMarc-André Lureau2013-10-071-7/+6
|
* server: set dispatcher before calling attache_workerMarc-André Lureau2013-10-073-7/+10
| | | | | This allows to call spice_qxl_add_memslot during attache_worker(), like done in the tests.
* Update spice-commonMarc-André Lureau2013-10-071-0/+0
|
* server: remove memslot unused functionsMarc-André Lureau2013-10-012-51/+0
|
* cleanup: remove GITVERSIONMarc-André Lureau2013-09-301-0/+0
| | | | This file is unneeded since d986fb46
* server: remove unused fill_rects_clipMarc-André Lureau2013-09-301-11/+0
| | | | Unused since 62d0c076eb2eb0f9954c3870f31b4dd685e5f95c.
* spicec: disable stencil test with primary fboMarc-André Lureau2013-09-302-1/+2
| | | | | | | The primary buffer doesn't use stencil test. However, this should be explicitely disabled, since the canvas might change stencil state, and this will affect primary stencil buffer, making some of further update operations clipped in unwanted ways.
* spicec: use pre/post copyMarc-André Lureau2013-09-301-0/+2
| | | | Ensure the GL state is appropriate for calling GCanvas::copy_pixels.
* spicec: add sw canvas diff checkMarc-André Lureau2013-09-304-24/+88
| | | | | | | | | | | | | Setting CHECKDIFF=1 environment variable will compare the rendering of the selected canvas with a software canvas. This is useful for debugging some rendering issues, however it is far from being perfect, since it's not able to tell whether one or the other is actually faulty. It's a strong indication though of which operations are incorrect. Ideally, all operations should be checked, however, a few of them are disabled by default because they fail all the time, and it looks like pixman is not very accurate for blending/compositing (at least visually, it seems gl has better rendering)
* spicec: do not abort if cache errorMarc-André Lureau2013-09-301-1/+2
|
* spicec: add SPICE_NOGRABMarc-André Lureau2013-09-301-0/+7
| | | | | Similar to spice-gtk, disable mouse and keyboard grab (useful when running under a debugger)
* spicec: remove dead GL codeMarc-André Lureau2013-09-302-34/+0
|
* spicec: use doublebuffer for openglMarc-André Lureau2013-09-305-3/+16
| | | | | | This visually reduces glitches without noticeable speed difference. It's also the traditionnal way of doing opengl.
* spicec: fix non-doublebuffer drawingMarc-André Lureau2013-09-303-0/+4
| | | | | | | | First, context must set it, then Draw/ReadBuffer must be set to FRONT, and then explicit Flush is needed. This patch is mostly for future reference, it is mostly discarded in following patch using double-buffer.
* spicec: use standard opengl 3.0 framebufferMarc-André Lureau2013-09-303-47/+50
|
* spicec: refresh the display after display resizeMarc-André Lureau2013-09-301-0/+4
|
* spicec: warn when throwing exceptionMarc-André Lureau2013-09-301-0/+3
| | | | This helps to identify the code location of exception
* update spice-commonMarc-André Lureau2013-09-301-0/+0
|
* red_worker: disconnect the channel instead of shutdown in case of a blocking ↵Yonit Halperin2013-09-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | method failure rhbz#1004443 The methods that trigger waitings on the client pipe require that the waiting will succeed in order to continue, or otherwise, that all the living pipe items will be released (e.g., when we must destroy a surface, we need that all its related pipe items will be released). Shutdown of the socket will eventually trigger red_channel_client_disconnect (*), which will empty the pipe. However, if the blocking method failed, we need to empty the pipe synchronously. It is not safe(**) to call red_channel_client_disconnect from ChannelCbs , but all the blocking calls in red_worker are done from callbacks that are triggered from the device. To summarize, calling red_channel_client_disconnect instead of calling red_channel_client_shutdown will immediately release all the pipe items that are held by the channel client (by calling red_channel_client_pipe_clear). If red_clear_surface_drawables_from_pipe timeouts, red_channel_client_disconnect will make sure that the surface we wish to release is not referenced by any pipe-item. (*) After a shutdown of a socket, we expect that later, when red_peer_handle_incoming is called, it will encounter a socket error and will call the channel's on_error callback which calls red_channel_client_disconnect. (**) I believe it was not safe before commit 2d2121a17038bc0 (before adding ref count to ChannelClient). However, I think it might still be unsafe, because red_channel_client_disconnect sets rcc->stream to NULL, and rcc->stream may be referred later inside a red_channel_client method unsafely. So instead of checking if (stream != NULL) after calling callbacks, we try to avoid calling red_channel_client_disconnect from callbacks.
* red_channel: cleanup of red_channel_client blocking methodsYonit Halperin2013-09-263-57/+93
| | | | | | (1) receive timeout as a parameter. (2) add a return value and pass the handling of failures to the calling routine.
* red_worker: cleanup red_clear_surface_drawables_from_pipesYonit Halperin2013-09-261-12/+18
| | | | | | (1) merge 'force' and 'wait_for_outgoing_item' to one parameter. 'wait_for_outgoing_item' is a derivative of 'force'. (2) move the call to red_wait_outgoing_item to red_clear_surface_drawables_from_pipe
* build-sys: fix some automake warningMarc-André Lureau2013-09-173-3/+3
| | | | | client/Makefile.am:199: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') server/tests/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
* Fix _FORTIFY_SOURCE redefine errorDunrong Huang2013-09-101-1/+1
| | | | | | | | | | | | If the _FORTIFY_SOURCE has been already defined, we shouldn't redefine it, or it will raise a build error as below: In file included from agent-msg-filter.c:21:0: ../config.h:17:0: error: "_FORTIFY_SOURCE" redefined [-Werror] agent-msg-filter.c:1:0: note: this is the location of the previous definition Suggested-by: Christophe Fergeau <cfergeau@redhat.com> Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
* red_parse_qxl: Change spice_error() to spice_warning()Christophe Fergeau2013-09-021-3/+4
| | | | | | | | After eb09c25c, red_parse_qxl.c still has some spice_error() which will kill the server even though the code is trying to return an error when the spice_error() is hit. This commit replaces these occurrences with a spice_warning() which will not kill spice-server.
* server: bitmap_consistent: replace spice_error with spice_warningUri Lublin2013-09-021-1/+1
| | | | | | | | | bitmap_consistent should return true or false. Currently it aborts instead of returning false, due to spice_error. Replacing spice_error with spice_warning, provides information and returns false, as expected. This fixes Fedora bz#997932
* client: add some missing USE_GUI define guardsAlon Levy2013-08-291-0/+4
|
* red_worker: fix call to dump_bitmap (too many args)Yonit Halperin2013-08-221-1/+1
|
* spice_bitmap_utils: fix dump_bitmapYonit Halperin2013-08-221-3/+3
|
* main_channel: monitoring client connection statusYonit Halperin2013-08-143-9/+23
| | | | | | | rhbz#994175 Start monitoring if the client connection is alive after completing the bit-rate test.
* red_channel: add option to monitor whether a channel client is aliveYonit Halperin2013-08-142-0/+133
| | | | | | | | | | rhbz#994175 When a client connection is closed surprisingly (i.e., without a FIN segment), we cannot identify it by a socket error (which is the only way by which we identified disconnections so far). This patch allows a channel client to periodically check the state of the connection and identify surprise disconnections.
* red_channel: add on_input callback for tracing incoming bytesYonit Halperin2013-08-142-0/+9
| | | | The callback will be used in the next patch.
* spice_timer_queue: don't call timers repeatedlyYonit Halperin2013-08-141-3/+1
| | | | | | | | | For channels that don't run as part of the main loop, we use spice_timer_queue, while for the other channels we use qemu timers support. The callbacks for setting timers are supplied to red_channel via SpiceCoreInterface, and their behavior should be consistent. qemu timers are called only once per each call to timer_start. This patch assigns the same behaviour to spice_timer_queue.
* server: split spice_image_cache from red_workerAlon Levy2013-08-144-157/+177
|
* server/red_worker: s/image_cache_eaging/image_cache_aging/Alon Levy2013-08-141-2/+2
|
* server: move surface_format_to_image_type to spice_bitmap_utilsAlon Levy2013-08-143-24/+23
|
* server: s/red_wait_all_sent/red_channel_wait_all_sent/Alon Levy2013-08-143-5/+5
|
* server: move three functions to red_channelAlon Levy2013-08-145-119/+134
| | | | | | | | | | | | | | | Three blocking functions, one was split to leave the display channel specific referencing of the DrawablePipeItem being sent inside red_worker, but the rest (most) of the timeout logic was moved to red_channel, including the associated constants. Moved functions: red_channel_client_wait_pipe_item_sent red_wait_outgoing_item red_wait_all_sent Introduces red_time.h & red_time.c for a small helper function dealing with time.h
* server: move bit set/clear utilities out of red_worker.hAlon Levy2013-08-145-19/+28
|
* server: move dump_bitmap to separate fileAlon Levy2013-08-144-153/+162
|