Here's the section in the src/protocol/spice/client.c file that registers the callbacks:/* Register clipboard handlers. */
g_signal_connect(channel, SPICE_SIGNAL_MAIN_CLIPBOARD_SELECTION,
G_CALLBACK(guac_spice_clipboard_selection_handler), client);
g_signal_connect(channel, SPICE_SIGNAL_MAIN_CLIPBOARD_SELECTION_GRAB,
G_CALLBACK(guac_spice_clipboard_selection_grab_handler), client);
g_signal_connect(channel, SPICE_SIGNAL_MAIN_CLIPBOARD_SELECTION_RELEASE,
G_CALLBACK(guac_spice_clipboard_selection_release_handler), client);
g_signal_connect(channel, SPICE_SIGNAL_MAIN_CLIPBOARD_SELECTION_REQUEST,
G_CALLBACK(guac_spice_clipboard_selection_request_handler), client);link to the full function is here:
https://github.com/necouchman/guacamole-server/blob/5e073802a0656e65b1bc8e7e6051831bea0d9508/src/protocols/spice/client.c#L236-L375Try changing the callbacks to accept a pointer, e.g.:- void guac_spice_clipboard_selection_grab_handler(SpiceMainChannel channel,+void guac_spice_clipboard_selection_grab_handler(SpiceMainChannel* channel,
-Sigh- I knew it would be something simple. Yes, this was it - works correctly after using pointers.
Thanks, Uri and Marc.
-Nick