[Spice-devel] [spice-gtk] build-sys: bump gtk requirement 3.12 -> 3.22
Frediano Ziglio
fziglio at redhat.com
Fri Jul 20 13:20:59 UTC 2018
>
> From: Victor Toso <me at victortoso.com>
>
> Fedora 28: 3.22.30
> Fedora 27: 3.22.26
> Fedora 26: 3.22.21
> RHEL 7.6: 3.22.30
> RHEL 7.5: 3.22.26
> RHEL 7.4: 3.22.10
> Debian 10: 3.22.30
> Debian 9: 3.22.11
>
> Signed-off-by: Victor Toso <victortoso at redhat.com>
Last Ubuntu LTS (18.04) is happy too (3.22.30)
Any other reason you want to bump it (beside clean up) ?
> ---
> configure.ac | 4 +--
> src/spice-gtk-session.c | 38 -------------------------
> src/spice-widget-egl.c | 6 ----
> src/spice-widget.c | 61 +++--------------------------------------
> 4 files changed, 6 insertions(+), 103 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 1cc3000..2d90b7b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -130,8 +130,8 @@ AC_ARG_WITH([gtk],
> [with_gtk=3.0])
>
> case "$with_gtk" in
> - 3.0) GTK_REQUIRED=3.12
> - GTK_ENCODED_VERSION="GDK_VERSION_3_12"
> + 3.0) GTK_REQUIRED=3.22
> + GTK_ENCODED_VERSION="GDK_VERSION_3_22"
> ;;
> no)
> AS_IF([test x$enable_gtk_doc = xyes],
> diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> index 705498a..3d8973e 100644
> --- a/src/spice-gtk-session.c
> +++ b/src/spice-gtk-session.c
> @@ -119,7 +119,6 @@ enum {
> static guint32 get_keyboard_lock_modifiers(void)
> {
> guint32 modifiers = 0;
> -#if GTK_CHECK_VERSION(3,18,0)
> /* Ignore GLib's too-new warnings */
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> GdkKeymap *keyboard = gdk_keymap_get_default();
> @@ -136,43 +135,6 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> modifiers |= SPICE_INPUTS_SCROLL_LOCK;
> }
> G_GNUC_END_IGNORE_DEPRECATIONS
> -#else
> -#ifdef HAVE_X11_XKBLIB_H
> - Display *x_display = NULL;
> - XKeyboardState keyboard_state;
> -
> - GdkScreen *screen = gdk_screen_get_default();
> - if (!GDK_IS_X11_DISPLAY(gdk_screen_get_display(screen))) {
> - SPICE_DEBUG("FIXME: gtk backend is not X11");
> - return 0;
> - }
> -
> - x_display = GDK_SCREEN_XDISPLAY(screen);
> - XGetKeyboardControl(x_display, &keyboard_state);
> -
> - if (keyboard_state.led_mask & 0x01) {
> - modifiers |= SPICE_INPUTS_CAPS_LOCK;
> - }
> - if (keyboard_state.led_mask & 0x02) {
> - modifiers |= SPICE_INPUTS_NUM_LOCK;
> - }
> - if (keyboard_state.led_mask & 0x04) {
> - modifiers |= SPICE_INPUTS_SCROLL_LOCK;
> - }
> -#elif defined(G_OS_WIN32)
> - if (GetKeyState(VK_CAPITAL) & 1) {
> - modifiers |= SPICE_INPUTS_CAPS_LOCK;
> - }
> - if (GetKeyState(VK_NUMLOCK) & 1) {
> - modifiers |= SPICE_INPUTS_NUM_LOCK;
> - }
> - if (GetKeyState(VK_SCROLL) & 1) {
> - modifiers |= SPICE_INPUTS_SCROLL_LOCK;
> - }
> -#else
> - g_warning("get_keyboard_lock_modifiers not implemented");
> -#endif // HAVE_X11_XKBLIB_H
> -#endif // GTK_CHECK_VERSION(3,18,0)
> return modifiers;
> }
>
> diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c
> index 29d2f01..a6805dd 100644
> --- a/src/spice-widget-egl.c
> +++ b/src/spice-widget-egl.c
> @@ -308,7 +308,6 @@ gl_make_current(SpiceDisplay *display, GError **err)
> }
> }
> #endif
> -#if GTK_CHECK_VERSION(3,16,0)
> #ifdef GDK_WINDOWING_X11
> else
> #endif
> @@ -320,7 +319,6 @@ gl_make_current(SpiceDisplay *display, GError **err)
> gtk_gl_area_make_current(GTK_GL_AREA(area));
> G_GNUC_END_IGNORE_DEPRECATIONS
> }
> -#endif
>
> return TRUE;
> }
> @@ -600,9 +598,7 @@ void spice_egl_update_display(SpiceDisplay *display)
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
>
> -#if !GTK_CHECK_VERSION(3,16,0)
> glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,
> (GLeglImageOES)d->egl.image);
> -#endif
>
> glDisable(GL_BLEND);
> glGetIntegerv(GL_CURRENT_PROGRAM, &prog);
> @@ -686,13 +682,11 @@ gboolean spice_egl_update_scanout(SpiceDisplay
> *display,
>
> d->egl.scanout = *scanout;
>
> -#if GTK_CHECK_VERSION(3,16,0)
> if (!gl_make_current(display, NULL))
> return FALSE;
>
> glBindTexture(GL_TEXTURE_2D, d->egl.tex_id);
> glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,
> (GLeglImageOES)d->egl.image);
> -#endif
>
> return TRUE;
> }
> diff --git a/src/spice-widget.c b/src/spice-widget.c
> index ecd29e9..cb35e72 100644
> --- a/src/spice-widget.c
> +++ b/src/spice-widget.c
> @@ -573,7 +573,6 @@ static void grab_notify(SpiceDisplay *display, gboolean
> was_grabbed)
> release_keys(display);
> }
>
> -#if GTK_CHECK_VERSION(3,16,0)
> #if HAVE_EGL
> /* Ignore GLib's too-new warnings */
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> @@ -610,7 +609,6 @@ gl_area_realize(GtkGLArea *area, gpointer user_data)
> }
> G_GNUC_END_IGNORE_DEPRECATIONS
> #endif
> -#endif
>
> static void
> drawing_area_realize(GtkWidget *area, gpointer user_data)
> @@ -645,7 +643,6 @@ static void spice_display_init(SpiceDisplay *display)
> gtk_widget_set_double_buffered(area, true);
> gtk_stack_set_visible_child(d->stack, area);
>
> -#if GTK_CHECK_VERSION(3,16,0)
> #if HAVE_EGL
> /* Ignore GLib's too-new warnings */
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> @@ -658,7 +655,6 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> NULL);
> gtk_stack_add_named(d->stack, area, "gl-area");
> G_GNUC_END_IGNORE_DEPRECATIONS
> -#endif
> #endif
> area = gtk_drawing_area_new();
> gtk_stack_add_named(d->stack, area, "gst-area");
> @@ -813,7 +809,6 @@ SpiceGrabSequence
> *spice_display_get_grab_keys(SpiceDisplay *display)
> return d->grabseq;
> }
>
> -#if GTK_CHECK_VERSION(3, 20, 0)
> static GdkSeat *spice_display_get_default_seat(SpiceDisplay *display)
> {
> GdkWindow *window = gtk_widget_get_window(GTK_WIDGET(display));
> @@ -822,7 +817,6 @@ static GdkSeat
> *spice_display_get_default_seat(SpiceDisplay *display)
> return gdk_display_get_default_seat(gdk_display);
> G_GNUC_END_IGNORE_DEPRECATIONS
> }
> -#endif
>
> /* FIXME: gdk_keyboard_grab/ungrab() is deprecated */
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> @@ -869,7 +863,6 @@ static void try_keyboard_grab(SpiceDisplay *display)
> GetModuleHandle(NULL), 0);
> g_warn_if_fail(d->keyboard_hook != NULL);
> #endif
> -#if GTK_CHECK_VERSION(3, 20, 0)
> status = gdk_seat_grab(spice_display_get_default_seat(display),
> gtk_widget_get_window(widget),
> GDK_SEAT_CAPABILITY_KEYBOARD,
> @@ -878,10 +871,6 @@ static void try_keyboard_grab(SpiceDisplay *display)
> NULL,
> NULL,
> NULL);
> -#else
> - status = gdk_keyboard_grab(gtk_widget_get_window(widget), FALSE,
> - GDK_CURRENT_TIME);
> -#endif
> if (status != GDK_GRAB_SUCCESS) {
> g_warning("keyboard grab failed %u", status);
> d->keyboard_grab_active = false;
> @@ -894,14 +883,10 @@ static void try_keyboard_grab(SpiceDisplay *display)
> static void ungrab_keyboard(G_GNUC_UNUSED SpiceDisplay *display)
> {
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> -#if GTK_CHECK_VERSION(3, 20, 0)
> /* we want to ungrab just the keyboard - it is not possible using
> gdk_seat_ungrab().
> See also https://bugzilla.gnome.org/show_bug.cgi?id=780133 */
> GdkDevice *keyboard =
> gdk_seat_get_keyboard(spice_display_get_default_seat(display));
> gdk_device_ungrab(keyboard, GDK_CURRENT_TIME);
> -#else
> - gdk_keyboard_ungrab(GDK_CURRENT_TIME);
> -#endif
> G_GNUC_END_IGNORE_DEPRECATIONS
> }
>
> @@ -1044,7 +1029,6 @@ static gboolean do_pointer_grab(SpiceDisplay *display)
>
> try_keyboard_grab(display);
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> -#if GTK_CHECK_VERSION(3, 20, 0)
> status = gdk_seat_grab(spice_display_get_default_seat(display),
> window,
> GDK_SEAT_CAPABILITY_ALL_POINTING,
> @@ -1053,26 +1037,6 @@ static gboolean do_pointer_grab(SpiceDisplay *display)
> NULL,
> NULL,
> NULL);
> -#else
> - /*
> - * from gtk-vnc:
> - * For relative mouse to work correctly when grabbed we need to
> - * allow the pointer to move anywhere on the local desktop, so
> - * use NULL for the 'confine_to' argument. Furthermore we need
> - * the coords to be reported to our VNC window, regardless of
> - * what window the pointer is actally over, so use 'FALSE' for
> - * 'owner_events' parameter
> - */
> - status = gdk_pointer_grab(window, FALSE,
> - GDK_POINTER_MOTION_MASK |
> - GDK_BUTTON_PRESS_MASK |
> - GDK_BUTTON_RELEASE_MASK |
> - GDK_BUTTON_MOTION_MASK |
> - GDK_SCROLL_MASK,
> - NULL,
> - blank,
> - GDK_CURRENT_TIME);
> -#endif
> G_GNUC_END_IGNORE_DEPRECATIONS
> grab_successful = (status == GDK_GRAB_SUCCESS);
> if (!grab_successful) {
> @@ -1176,14 +1140,10 @@ static void mouse_wrap(SpiceDisplay *display,
> GdkEventMotion *motion)
> static void ungrab_pointer(G_GNUC_UNUSED SpiceDisplay *display)
> {
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> -#if GTK_CHECK_VERSION(3, 20, 0)
> /* we want to ungrab just the pointer - it is not possible using
> gdk_seat_ungrab().
> See also https://bugzilla.gnome.org/show_bug.cgi?id=780133 */
> GdkDevice *pointer =
> gdk_seat_get_pointer(spice_display_get_default_seat(display));
> gdk_device_ungrab(pointer, GDK_CURRENT_TIME);
> -#else
> - gdk_pointer_ungrab(GDK_CURRENT_TIME);
> -#endif
> G_GNUC_END_IGNORE_DEPRECATIONS
> }
>
> @@ -1624,14 +1584,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
> if (!d->inputs)
> return true;
>
> - if (key->keyval == GDK_KEY_Pause
> -#if defined(G_OS_WIN32) && !GTK_CHECK_VERSION(3, 22, 0)
> - /* Bug https://bugzilla.gnome.org/show_bug.cgi?id=769214
> - * Fixed in 3.22 with 125ef35
> - */
> - || key->hardware_keycode == VK_PAUSE
> -#endif
> - ) {
> + if (key->keyval == GDK_KEY_Pause) {
> return send_pause(display, key->type);
> }
> if (!scancode)
> @@ -2450,11 +2403,7 @@ static GdkDevice
> *spice_gdk_window_get_pointing_device(GdkWindow *window)
> {
> GdkDisplay *gdk_display = gdk_window_get_display(window);
> G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> -#if GTK_CHECK_VERSION(3, 20, 0)
> return gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_display));
> -#else
> - return
> gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_display));
> -#endif
> G_GNUC_END_IGNORE_DEPRECATIONS
> }
>
> @@ -2947,6 +2896,7 @@ static void gl_draw(SpiceDisplay *display,
> guint32 x, guint32 y, guint32 w, guint32 h)
> {
> SpiceDisplayPrivate *d = display->priv;
> + GtkWidget *gl;
>
> DISPLAY_DEBUG(display, "%s", __FUNCTION__);
>
> @@ -2958,8 +2908,7 @@ static void gl_draw(SpiceDisplay *display,
> return;
> }
>
> -#if GTK_CHECK_VERSION(3,16,0)
> - GtkWidget *gl = gtk_stack_get_child_by_name(d->stack, "gl-area");
> + gl = gtk_stack_get_child_by_name(d->stack, "gl-area");
No need for this change.
>
> if (gtk_stack_get_visible_child(d->stack) == gl) {
> /* Ignore GLib's too-new warnings */
> @@ -2967,9 +2916,7 @@ static void gl_draw(SpiceDisplay *display,
> gtk_gl_area_queue_render(GTK_GL_AREA(gl));
> G_GNUC_END_IGNORE_DEPRECATIONS
> d->egl.call_draw_done = TRUE;
> - } else
> -#endif
> - {
> + } else {
> spice_egl_update_display(display);
> spice_display_channel_gl_draw_done(d->display);
> }
There's also gdk_event_get_scancode (configure.ac and src/spice-widget.c).
Maybe some G_GNUC_BEGIN_IGNORE_DEPRECATIONS/G_GNUC_END_IGNORE_DEPRECATIONS
could be removed too?
Frediano
More information about the Spice-devel
mailing list