This prevents a possible crash on windows 32 bit. The linkage of UnhookWindowsHookEx is WINAPI which is __stdcall while callback for g_clear_pointer is C. This could cause stack pointer corruption depending on compiler flags. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- src/spice-widget.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/spice-widget.c b/src/spice-widget.c index b5936bc..2f1bb96 100644 --- a/src/spice-widget.c +++ b/src/spice-widget.c @@ -827,7 +827,8 @@ static void try_keyboard_ungrab(SpiceDisplay *display) SPICE_DEBUG("ungrab keyboard"); gdk_keyboard_ungrab(GDK_CURRENT_TIME); #ifdef G_OS_WIN32 - g_clear_pointer(&d->keyboard_hook, UnhookWindowsHookEx); + UnhookWindowsHookEx(d->keyboard_hook); + d->keyboard_hook = NULL; #endif d->keyboard_grab_active = false; g_signal_emit(widget, signals[SPICE_DISPLAY_KEYBOARD_GRAB], 0, false); -- 2.7.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel