[Spice-devel] [PATCH spice-server 1/2] inputs-channel: Encapsulate SpiceTabletState
Frediano Ziglio
fziglio at redhat.com
Thu Nov 30 12:03:07 UTC 2017
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/inputs-channel.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/server/inputs-channel.c b/server/inputs-channel.c
index ac598424..464ac21e 100644
--- a/server/inputs-channel.c
+++ b/server/inputs-channel.c
@@ -100,9 +100,16 @@ struct SpiceTabletState {
RedsState *reds;
};
-static SpiceTabletState* spice_tablet_state_new(void)
+static SpiceTabletState* spice_tablet_state_new(RedsState* reds)
{
- return g_new0(SpiceTabletState, 1);
+ SpiceTabletState *st = g_new0(SpiceTabletState, 1);
+ st->reds = reds;
+ return st;
+}
+
+static void spice_tablet_state_free(SpiceTabletState* st)
+{
+ g_free(st);
}
RedsState* spice_tablet_state_get_server(SpiceTabletState *st)
@@ -640,8 +647,7 @@ int inputs_channel_set_tablet(InputsChannel *inputs, SpiceTabletInstance *tablet
return -1;
}
inputs->tablet = tablet;
- inputs->tablet->st = spice_tablet_state_new();
- inputs->tablet->st->reds = red_channel_get_server(RED_CHANNEL(inputs));
+ inputs->tablet->st = spice_tablet_state_new(red_channel_get_server(RED_CHANNEL(inputs)));
return 0;
}
@@ -654,7 +660,7 @@ void inputs_channel_detach_tablet(InputsChannel *inputs, SpiceTabletInstance *ta
{
spice_printerr("");
if (tablet != NULL && tablet == inputs->tablet) {
- g_free(tablet->st);
+ spice_tablet_state_free(tablet->st);
tablet->st = NULL;
}
inputs->tablet = NULL;
--
2.14.3
More information about the Spice-devel
mailing list