summaryrefslogtreecommitdiffstats
path: root/server/reds.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/reds.c')
-rw-r--r--server/reds.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/server/reds.c b/server/reds.c
index 7983fe4b..108ade3e 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -78,6 +78,7 @@ static int spice_port = -1;
static int spice_secure_port = -1;
static char spice_addr[256];
static int spice_family = PF_UNSPEC;
+static char *default_renderer = "cairo";
static int ticketing_enabled = 1; //Ticketing is enabled by default
static pthread_mutex_t *lock_cs;
@@ -5500,7 +5501,8 @@ int spice_server_init(SpiceServer *s, CoreInterface *core)
{
ASSERT(reds == s);
do_spice_init(core);
- red_dispatcher_add_renderer("cairo");
+ if (default_renderer)
+ red_dispatcher_add_renderer(default_renderer);
return 0;
}
@@ -5641,6 +5643,15 @@ int spice_server_set_mouse_absolute(SpiceServer *s, int absolute)
return 0;
}
+int spice_server_add_renderer(SpiceServer *s, const char *name)
+{
+ ASSERT(reds == s);
+ if (!red_dispatcher_add_renderer(name))
+ return -1;
+ default_renderer = NULL;
+ return 0;
+}
+
int spice_server_add_interface(SpiceServer *s, VDInterface *interface)
{
ASSERT(reds == s);