Hi On Wed, Jun 8, 2016 at 1:10 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > 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> Reviewed-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > --- > src/spice-widget.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/spice-widget.c b/src/spice-widget.c > index b5936bc..c528614 100644 > --- a/src/spice-widget.c > +++ b/src/spice-widget.c > @@ -827,7 +827,11 @@ 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); > + // do not use g_clear_pointer as Windows API have different linkage > + if (d->keyboard_hook) { > + 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 -- Marc-André Lureau _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel