From b7715af2b31f47060cc5b4be930d16c13be93fa9 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 12 Dec 2017 11:34:40 +0000 Subject: [PATCH] ui: deprecate use of GTK 2.x in favour of 3.x series The GTK 3.0 release was made in Feb, 2011: https://blog.gtk.org/2011/02/10/gtk-3-0-released/ That will soon be 7 years ago, which is enough time to consider the 3.x series widely supported. Thus we deprecate the GTK 2.x support, which will allow us to delete it in the last release of 2018. By this time, GTK 3.x will be almost 8 years old. Signed-off-by: Daniel P. Berrange Message-id: 20171212113440.16483-1-berrange@redhat.com Signed-off-by: Gerd Hoffmann --- configure | 6 ++++++ qemu-doc.texi | 9 +++++++++ ui/gtk.c | 5 +++++ 3 files changed, 20 insertions(+) diff --git a/configure b/configure index 89bd662a6a..b272a0336b 100755 --- a/configure +++ b/configure @@ -5629,6 +5629,12 @@ if test "$sdl_too_old" = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" fi +if test "$gtkabi" = "2.0"; then + echo + echo "WARNING: Use of GTK 2.0 is deprecated and will be removed in" + echo "WARNING: future releases. Please switch to using GTK 3.0" +fi + if test "$supported_cpu" = "no"; then echo echo "WARNING: SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!" diff --git a/qemu-doc.texi b/qemu-doc.texi index a3d2054c90..3e9eb819a6 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2587,6 +2587,15 @@ they were first deprecated in the 2.10.0 release. What follows is a list of all features currently marked as deprecated. +@section Build options + +@subsection GTK 2.x + +Previously QEMU has supported building against both GTK 2.x +and 3.x series APIs. Support for the GTK 2.x builds will be +discontinued, so maintainers should switch to using GTK 3.x, +which is the default. + @section System emulator command line arguments @subsection -tdf (since 1.3.0) diff --git a/ui/gtk.c b/ui/gtk.c index 342e96fbe9..f3b7567984 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -2248,6 +2248,11 @@ void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover) exit(1); } +#if !GTK_CHECK_VERSION(3, 0, 0) + g_printerr("Running QEMU with GTK 2.x is deprecated, and will be removed\n" + "in a future release. Please switch to GTK 3.x instead\n"); +#endif + s->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); #if GTK_CHECK_VERSION(3, 2, 0) s->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);