From abd4d80ebef15fba78e99bbbc7173d3a41b1ae26 Mon Sep 17 00:00:00 2001 From: Igor Korot Date: Wed, 24 Feb 2016 03:12:48 +0100 Subject: [PATCH] Use gtk_widget_set_opacity() with new enough wxGTK3 This function replaces gtk_window_set_opacity() and could presumably work better for the GTK+ versions supporting it. Also avoid deprecation warnings, if they're ever enabled later, for gtk_window_set_opacity() which we still have to use for older GTK+. Closes #17106. --- src/gtk/toplevel.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gtk/toplevel.cpp b/src/gtk/toplevel.cpp index 8123d7a5f8..13dc40aa3a 100644 --- a/src/gtk/toplevel.cpp +++ b/src/gtk/toplevel.cpp @@ -1542,7 +1542,19 @@ bool wxTopLevelWindowGTK::SetTransparent(wxByte alpha) if (gtk_check_version(2,12,0) == NULL) #endif { - gtk_window_set_opacity(GTK_WINDOW(m_widget), alpha / 255.0); +#if GTK_CHECK_VERSION(3,8,0) + if(gtk_check_version(3,8,0) == NULL) + { + gtk_widget_set_opacity(m_widget, alpha / 255.0); + } + else +#endif + { + // Can't avoid using this deprecated function with older GTK+. + wxGCC_WARNING_SUPPRESS(deprecated-declarations); + gtk_window_set_opacity(GTK_WINDOW(m_widget), alpha / 255.0); + wxGCC_WARNING_RESTORE(); + } return true; } #endif // GTK_CHECK_VERSION(2,12,0)