[Spice-devel] virt-viewer 0.5.3 for Windows

2012-05-31 Thread Marc-André Lureau
Hi folks! A few people have expressed desire to have pre-built Windows spice-gtk client available for download. After working on a build solution, based on Fedora mingw64 project, we are pleased to offer the latest version of virt-viewer build for Windows on spice-space.org It is currently availa

Re: [Spice-devel] [spice 0.10 PATCH] cleanup x11 library detection for building client

2012-05-31 Thread Alon Levy
On Thu, May 31, 2012 at 05:44:23PM +0300, Uri Lublin wrote: > From: Nahum Shalman > ACK. Now you're making me feel back about the few patches I already cherry-picked to 0.10 without asking anyone. > Consolidate two separate chunks of library hunting that depend on the > same check. > > Check

[Spice-devel] [spice 0.10 PATCH] cleanup x11 library detection for building client

2012-05-31 Thread Uri Lublin
From: Nahum Shalman Consolidate two separate chunks of library hunting that depend on the same check. Check if we're actually building the client before looking for client only libraries. Hide some of the final output if we're not building the client. (cherry picked from master commit c3eae628

[Spice-devel] Fix filter string behaviour to be more intuitive before lots of people start depending on it

2012-05-31 Thread David Jaša
SSIA The current "grandfathered" filter format behaves counter-intuitively. Let me describe it based on my experiments: 1. there is a "hard default" that disables all devices (aka -1,-1,-1,-1,0), it must be always overwritten if you wish to auto-share anything. This is not adv

[Spice-devel] [PATCH v2] qxl_mem: add debug flags, simple accounting and valgrind enabled

2012-05-31 Thread Alon Levy
adds preprocessor definitions DEBUG_QXL_MEM & DEBUG_QXL_MEM_VERBOSE --- v1->v2: add static in front of qxl_mem_unverifiable in the default case of undefined DEBUG_QXL_MEM. src/qxl.h|6 ++ src/qxl_driver.c |8 src/qxl_mem.c| 54 ++

[Spice-devel] [PATCH 19/19] qxl_switch_mode: don't evacuate, just recreate primary surface

2012-05-31 Thread Alon Levy
In summary, on vt enter we still: reset recreate memory slots clear our mspace allocators and then do what switch mode below says On vt leave we still: reset (this is redundant since the first VGA access will trigger a reset on the device side) On switch mode however we only: destroy prima

[Spice-devel] [PATCH 15/19] prefix io with qxl_io, add several

2012-05-31 Thread Alon Levy
--- src/qxl.h |9 +--- src/qxl_driver.c | 65 - src/qxl_surface.c |2 +- 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/src/qxl.h b/src/qxl.h index 56e03a3..819c98d 100644 --- a/src/qxl.h +++ b/src/qxl.h @@

[Spice-devel] [PATCH 06/19] qxl_mem: add debug flags, simple accounting and valgrind enabled

2012-05-31 Thread Alon Levy
adds preprocessor definitions DEBUG_QXL_MEM & DEBUG_QXL_MEM_VERBOSE --- src/qxl.h|6 ++ src/qxl_driver.c |8 src/qxl_mem.c| 54 +- 3 files changed, 67 insertions(+), 1 deletion(-) diff --git a/src/qxl.h b/src/q

[Spice-devel] [PATCH 14/19] qxl.h: add device_primary tri state UNDEFINED/NONE/CREATED

2012-05-31 Thread Alon Levy
--- src/qxl.h|8 src/qxl_driver.c |4 2 files changed, 12 insertions(+) diff --git a/src/qxl.h b/src/qxl.h index c6d3793..56e03a3 100644 --- a/src/qxl.h +++ b/src/qxl.h @@ -126,6 +126,12 @@ enum { OPTION_COUNT, }; +enum { +QXL_DEVICE_PRIMARY_UNDEFINED, +

[Spice-devel] [PATCH 13/19] qxl_surface: logging: add function name to ErrorF

2012-05-31 Thread Alon Levy
--- src/qxl_surface.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qxl_surface.c b/src/qxl_surface.c index 976c339..6414351 100644 --- a/src/qxl_surface.c +++ b/src/qxl_surface.c @@ -635,7 +635,7 @@ qxl_surface_create (surface_cache_t *cache, if (

[Spice-devel] [PATCH 09/19] mspace: add mspace_malloc_stats_return

2012-05-31 Thread Alon Levy
--- src/mspace.c | 33 +++-- src/mspace.h |5 - 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/mspace.c b/src/mspace.c index 17d976a..822aade 100644 --- a/src/mspace.c +++ b/src/mspace.c @@ -1479,7 +1479,8 @@ static struct mallinfo interna

[Spice-devel] [PATCH 08/19] qxl_leave_vt: change outb to ioport_write (easier to grep / breakpoint on a single point)

2012-05-31 Thread Alon Levy
--- src/qxl_driver.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qxl_driver.c b/src/qxl_driver.c index c128231..3c8dcca 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -1214,7 +1214,7 @@ qxl_leave_vt(int scrnIndex, int flags) qxl->vt_surfaces = qxl_sur

[Spice-devel] [PATCH 12/19] qxl_surface: cosmetics

2012-05-31 Thread Alon Levy
--- src/qxl_surface.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qxl_surface.c b/src/qxl_surface.c index d999b4d..976c339 100644 --- a/src/qxl_surface.c +++ b/src/qxl_surface.c @@ -551,7 +551,7 @@ surface_send_create (surface_cache_t *cache, /* the final + stri

[Spice-devel] [PATCH 00/19] xf86-video-qxl cleanups, switchmode, vt segfaults

2012-05-31 Thread Alon Levy
This patchset has multiple fixes and cleanups, including: * handle DestroyPixmap during [LeaveVT, EnterVT]. When we evacuated all the surfaces we also destroyed all_surfaces, causing segfaults. * tracking of mspace allocation (compile time flag, defaults to off), including trivial accountin

[Spice-devel] [PATCH 17/19] qxl_surface: add DEBUG_SURFACE_LIFECYCLE helpers

2012-05-31 Thread Alon Levy
--- src/qxl_surface.c | 46 ++ 1 file changed, 46 insertions(+) diff --git a/src/qxl_surface.c b/src/qxl_surface.c index fd62576..669a022 100644 --- a/src/qxl_surface.c +++ b/src/qxl_surface.c @@ -49,6 +49,12 @@ #include "qxl.h" +#ifdef DEBUG_SUR

[Spice-devel] [PATCH 04/19] qxl_driver: hide cursors on vt switch

2012-05-31 Thread Alon Levy
This is not enough to prevent any qxl_destroy_pixmap call during vt switch, but it prevents those triggered by CursorDisplayCursor. Note: a matching xf86_show_cursors call doesn't hurt, but is not required, so not adding it. It is still possible to access freed memory by the following trigger: =

[Spice-devel] [PATCH 16/19] io: add qxl_io_destroy_primary

2012-05-31 Thread Alon Levy
--- src/qxl.h|1 + src/qxl_driver.c | 15 +++ 2 files changed, 16 insertions(+) diff --git a/src/qxl.h b/src/qxl.h index 819c98d..aa6645c 100644 --- a/src/qxl.h +++ b/src/qxl.h @@ -435,6 +435,7 @@ inline void qxl_mem_unverifiable(struct qxl_mem *mem) {} void qxl_update_

[Spice-devel] [PATCH 02/19] uxa-damage: remove unnecessary include (doesn't fix any warnings)

2012-05-31 Thread Alon Levy
--- src/uxa/uxa-damage.c |1 - 1 file changed, 1 deletion(-) diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c index 586c466..3e4c075 100644 --- a/src/uxa/uxa-damage.c +++ b/src/uxa/uxa-damage.c @@ -30,7 +30,6 @@ #include #include"scrnintstr.h" #include"windowstr.h" -#in

[Spice-devel] [PATCH 10/19] qxl_driver: abort on mspace error, don't spin (default abort function)

2012-05-31 Thread Alon Levy
--- src/qxl_driver.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/src/qxl_driver.c b/src/qxl_driver.c index 3c8dcca..a3ec1f8 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -41,6 +41,7 @@ #include +#include "mspace.h" #include "qxl.h" #include "assert.

[Spice-devel] [PATCH 03/19] qxl_surface: remove redundant qxl_garbage_collect, qxl_allocnf calls it

2012-05-31 Thread Alon Levy
--- src/qxl_surface.c |2 -- 1 file changed, 2 deletions(-) diff --git a/src/qxl_surface.c b/src/qxl_surface.c index a8901f0..cb0de1d 100644 --- a/src/qxl_surface.c +++ b/src/qxl_surface.c @@ -357,8 +357,6 @@ make_surface_cmd (surface_cache_t *cache, uint32_t id, QXLSurfaceCmdType type)

[Spice-devel] [PATCH 01/19] uxa: remove unnecessary includes, reduces warnings due to duplicate definitions

2012-05-31 Thread Alon Levy
--- src/uxa/uxa-accel.c |2 -- src/uxa/uxa.c |2 -- 2 files changed, 4 deletions(-) diff --git a/src/uxa/uxa-accel.c b/src/uxa/uxa-accel.c index 62034c2..e456e6c 100644 --- a/src/uxa/uxa-accel.c +++ b/src/uxa/uxa-accel.c @@ -31,8 +31,6 @@ #include #endif #include "uxa-priv.h" -#

[Spice-devel] [PATCH 07/19] rename qxl_reset to qxl_reset_and_create_mem_slots

2012-05-31 Thread Alon Levy
--- src/qxl_driver.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qxl_driver.c b/src/qxl_driver.c index 4c08637..c128231 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -525,7 +525,7 @@ setup_slot(qxl_screen_t *qxl, uint8_t slot_index_offset, } sta

[Spice-devel] [PATCH 11/19] qxl_pre_init: memset qxl struct

2012-05-31 Thread Alon Levy
--- src/qxl_driver.c |1 + 1 file changed, 1 insertion(+) diff --git a/src/qxl_driver.c b/src/qxl_driver.c index a3ec1f8..1dbde5b 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -1448,6 +1448,7 @@ qxl_pre_init(ScrnInfoPtr pScrn, int flags) if (!pScrn->driverPrivate) pScrn

[Spice-devel] [PATCH 18/19] qxl_surface: don't unlink surface 0

2012-05-31 Thread Alon Levy
The primary surface, i.e. qxl->primary, the only surface with id==0, is allocated in qxl_surface_cache_create_primary with prev==next==NULL. Unlinking it was producing a wrong cache->free_surfaces == NULL. This was not a problem because unlinking the primary only happened in switch_host, which then

[Spice-devel] [PATCH 05/19] qxl_surface: handle destroyed pixmaps while evacuated

2012-05-31 Thread Alon Levy
Prevent access to freed memory when: 1. qxl_leave_vt/qxl_surface_cache_evacuate_all freed cache->all_surfaces 2. ProcRenderDispatch/damageDestroyPixmap/qxl_destroy_pixmap/qxl_surface_kill access a surface that pointed inside the all_surfaces array Solution in this patch: 1. never free all_surfaces

[Spice-devel] [usbredir v3 PATCH] usbredirfilter: Win32: use strtok_r implementation of glibc

2012-05-31 Thread Uri Lublin
I could not find an imlpementation of strtok_r in mingw. It seems strtok_s requires an additional package to be installed on the usb-host machine. This patch adds the glibc implementation of strtok_r to be used on windows. --- usbredirparser/Makefile.am |4 ++ usbredirparser/strtok_r.c

Re: [Spice-devel] [PATCH spice-server 1/2] server/red_channel: fix possible access to released channel clients

2012-05-31 Thread Alon Levy
On Thu, May 31, 2012 at 10:04:05AM +0300, Yonit Halperin wrote: > Added ref count for RedChannel and RedChannelClient. > > red_channel.c/red_peer_handle_incoming call to > handler->cb->handle_message might lead to the release of the channel > client, and the following call to handler->cb->release_

[Spice-devel] [PATCH spice-server 2/2] server/red_channel: do not attempt to write if the channel client is disconnected

2012-05-31 Thread Yonit Halperin
The red_channel_client_event call to red_channel_client_receive might result in a disconnected channel client. The following call to red_channel_client_push may call to red_peer_handle_outgoing with a disconnected socket. --- server/red_channel.c |4 1 files changed, 4 insertions(+), 0 de

[Spice-devel] [PATCH spice-server 1/2] server/red_channel: fix possible access to released channel clients

2012-05-31 Thread Yonit Halperin
Added ref count for RedChannel and RedChannelClient. red_channel.c/red_peer_handle_incoming call to handler->cb->handle_message might lead to the release of the channel client, and the following call to handler->cb->release_msg_buf will be a violation. This bug can be produced by causing main_cha