gtk+3: Upgrade 3.18.8 -> 3.20.6
* Remove a patch that's no longer needed (as we don't have a problem with client side decorations anymore) * Wayland build now depends on wayland-protocols: Use same WAYLAND_PROTOCOLS_SYSROOT_DIR trick as weston so protocols are found and multilib build does not break * Add new binary gtk-query-settings to -dev package * Rebase patches * Modify 0003-Add-disable-opengl-configure-option.patch so that gdkx.h really is generated whenever it changes * Depend on wayland-protocols in gtk+3-dev if Wayland is enabled as otherwise the pkg-config files can't be used - RB (From OE-Core rev: b610145b1aadb093ced72a7958d8df00ef1250b6) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> gtk+3: depend on wayland-protocols if wayland enabled Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ef8bbc7869
commit
33226ae5b3
|
@ -31,7 +31,9 @@ EXTRA_OECONF += " \
|
|||
--enable-modules \
|
||||
--disable-cups \
|
||||
--disable-colord \
|
||||
"
|
||||
WAYLAND_PROTOCOLS_SYSROOT_DIR=${STAGING_DIR}/${MACHINE} \
|
||||
"
|
||||
EXTRA_OECONF[vardepsexclude] = "MACHINE"
|
||||
|
||||
do_compile_prepend() {
|
||||
export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
|
||||
|
@ -46,7 +48,7 @@ PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fon
|
|||
# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
|
||||
PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,libepoxy"
|
||||
PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl"
|
||||
PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon virtual/mesa wayland-native"
|
||||
PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/mesa wayland-native"
|
||||
|
||||
do_install_append() {
|
||||
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
|
||||
|
@ -76,6 +78,7 @@ FILES_${PN}_append = " ${bindir}/gtk-update-icon-cache-3.0 \
|
|||
FILES_${PN}-dev += " \
|
||||
${datadir}/gtk-3.0/gtkbuilder.rng \
|
||||
${datadir}/gtk-3.0/include \
|
||||
${datadir}/gettext/its \
|
||||
${libdir}/gtk-3.0/include \
|
||||
${libdir}/gtk-3.0/${LIBV}/loaders/*.la \
|
||||
${libdir}/gtk-3.0/${LIBV}/immodules/*.la \
|
||||
|
@ -85,6 +88,7 @@ FILES_${PN}-dev += " \
|
|||
${bindir}/gtk-builder-convert \
|
||||
${bindir}/gtk-encode-symbolic-svg \
|
||||
${bindir}/gtk-builder-tool \
|
||||
${bindir}/gtk-query-settings \
|
||||
"
|
||||
|
||||
GTKBASE_RRECOMMENDS ?= "liberation-fonts \
|
||||
|
@ -99,6 +103,7 @@ GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
|
|||
|
||||
RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
|
||||
RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
|
||||
RDEPENDS_${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
|
||||
|
||||
PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
|
||||
|
||||
|
@ -122,4 +127,3 @@ python populate_packages_prepend () {
|
|||
if (d.getVar('DEBIAN_NAMES', True)):
|
||||
d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-3.0')
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,21 @@
|
|||
From 5a73a5b92566e314bbc8a1bd40f1ec204837c111 Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Tue, 21 Jun 2016 14:53:56 +0300
|
||||
Subject: [PATCH 1/4] Hardcoded libtool
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
---
|
||||
configure.ac | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: gtk+-3.8.2/configure.ac
|
||||
===================================================================
|
||||
--- gtk+-3.8.2.orig/configure.ac
|
||||
+++ gtk+-3.8.2/configure.ac
|
||||
@@ -531,7 +531,7 @@ AC_MSG_CHECKING([Whether to write depend
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 23d3077..b6931d6 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -610,7 +610,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files])
|
||||
case $enable_explicit_deps in
|
||||
auto)
|
||||
export SED
|
||||
|
@ -15,7 +24,7 @@ Index: gtk+-3.8.2/configure.ac
|
|||
if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then
|
||||
enable_explicit_deps=yes
|
||||
else
|
||||
@@ -793,7 +793,7 @@ else
|
||||
@@ -876,7 +876,7 @@ else
|
||||
dnl Now we check to see if our libtool supports shared lib deps
|
||||
dnl (in a rather ugly way even)
|
||||
if $dynworks; then
|
||||
|
@ -24,7 +33,7 @@ Index: gtk+-3.8.2/configure.ac
|
|||
module_deplibs_check=`$module_libtool_config | \
|
||||
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
|
||||
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
|
||||
@@ -1528,7 +1528,7 @@ fi
|
||||
@@ -1630,7 +1630,7 @@ AC_SUBST(GTK_PRINT_BACKENDS)
|
||||
# We are using gmodule-no-export now, but I'm leaving the stripping
|
||||
# code in place for now, since pango and atk still require gmodule.
|
||||
export SED
|
||||
|
@ -33,3 +42,6 @@ Index: gtk+-3.8.2/configure.ac
|
|||
if test -n "$export_dynamic"; then
|
||||
GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
||||
GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
||||
--
|
||||
2.1.4
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From fc22058a10db913534f11348f86681fe9e1838e5 Mon Sep 17 00:00:00 2001
|
||||
From d63b926f8c8d8b5c9f9ec33d078b775f0409d88a Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Fri, 16 Oct 2015 16:35:16 +0300
|
||||
Subject: [PATCH] Do not try to initialize GL without libGL
|
||||
Subject: [PATCH 2/4] Do not try to initialize GL without libGL
|
||||
|
||||
_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
|
||||
GLX api which will exit() if libGL.so.1 is not present. We do not
|
||||
|
@ -21,10 +21,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
|||
2 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 729a62e..58cc1ac 100644
|
||||
index b6931d6..e27da49 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -328,6 +328,13 @@ AC_ARG_ENABLE(mir-backend,
|
||||
@@ -342,6 +342,13 @@ AC_ARG_ENABLE(mir-backend,
|
||||
[enable the Mir gdk backend])],
|
||||
[backend_set=yes])
|
||||
|
||||
|
@ -39,10 +39,10 @@ index 729a62e..58cc1ac 100644
|
|||
if test "$platform_win32" = yes; then
|
||||
enable_win32_backend=yes
|
||||
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
|
||||
index f3b062d..c8243f4 100644
|
||||
index 81479d8..3c8c5c0 100644
|
||||
--- a/gdk/x11/gdkvisual-x11.c
|
||||
+++ b/gdk/x11/gdkvisual-x11.c
|
||||
@@ -345,7 +345,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
|
||||
@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
|
||||
/* If GL is available we want to pick better default/rgba visuals,
|
||||
as we care about glx details such as alpha/depth/stencil depth,
|
||||
stereo and double buffering */
|
|
@ -1,7 +1,7 @@
|
|||
From c77afa19881d955d759879aeae8bbd88613dd4fe Mon Sep 17 00:00:00 2001
|
||||
From a8fa547fdc1416b330aced805f5343ad912932ae Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Thu, 16 Jun 2016 15:11:34 +0300
|
||||
Subject: [PATCH] Add --disable-opengl configure option
|
||||
Date: Tue, 21 Jun 2016 15:11:39 +0300
|
||||
Subject: [PATCH 3/4] Add --disable-opengl configure option
|
||||
|
||||
--disable-opengl will remove the dependency on libepoxy and on the
|
||||
OpenGL APIs. This is useful for those who want to keep using gtk+3
|
||||
|
@ -20,37 +20,35 @@ Long-term it would be good to find an alternative solution to this
|
|||
Upstream-Status: Inappropriate [Evil eye expected from upstream]
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
---
|
||||
configure.ac | 13 +++++++--
|
||||
demos/gtk-demo/glarea.c | 13 +++++++++
|
||||
docs/tools/Makefile.am | 9 ++++--
|
||||
docs/tools/widgets.c | 4 ++-
|
||||
gdk/gdkdisplay.c | 4 ++-
|
||||
gdk/gdkgl.c | 10 +++++++
|
||||
gdk/gdkglcontext.c | 6 ++++
|
||||
gdk/gdkwindow.c | 14 +++++++++-
|
||||
gdk/x11/Makefile.am | 28 ++++++++++++++++---
|
||||
gdk/x11/gdkdisplay-x11.c | 6 ++--
|
||||
gdk/x11/gdkscreen-x11.c | 5 ++++
|
||||
gdk/x11/gdkwindow-x11.c | 4 +++
|
||||
gdk/x11/gdkx-autocleanups.h | 2 ++
|
||||
gdk/x11/gdkx-with-gl-context.h | 59 +++++++++++++++++++++++++++++++++++++++
|
||||
gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++++++++++++++++++
|
||||
gdk/x11/gdkx.h | 59 ---------------------------------------
|
||||
gtk/Makefile.am | 3 +-
|
||||
gtk/gtkglarea.c | 20 ++++++++++++-
|
||||
gtk/inspector/general.c | 6 ++++
|
||||
tests/Makefile.am | 10 +++++--
|
||||
testsuite/gtk/objects-finalize.c | 2 ++
|
||||
21 files changed, 257 insertions(+), 78 deletions(-)
|
||||
create mode 100644 gdk/x11/gdkx-with-gl-context.h
|
||||
configure.ac | 13 +++++--
|
||||
demos/gtk-demo/glarea.c | 13 +++++++
|
||||
docs/tools/Makefile.am | 9 +++--
|
||||
docs/tools/widgets.c | 4 ++-
|
||||
gdk/gdkdisplay.c | 4 ++-
|
||||
gdk/gdkgl.c | 10 ++++++
|
||||
gdk/gdkglcontext.c | 6 ++++
|
||||
gdk/gdkwindow.c | 13 +++++++
|
||||
gdk/x11/Makefile.am | 30 +++++++++++++---
|
||||
gdk/x11/gdkdisplay-x11.c | 6 +++-
|
||||
gdk/x11/gdkscreen-x11.c | 5 +++
|
||||
gdk/x11/gdkwindow-x11.c | 4 +++
|
||||
gdk/x11/gdkx-autocleanups.h | 2 ++
|
||||
gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 0
|
||||
gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++++++++++
|
||||
gtk/Makefile.am | 3 +-
|
||||
gtk/gtkglarea.c | 20 ++++++++++-
|
||||
gtk/inspector/general.c | 6 ++++
|
||||
tests/Makefile.am | 10 ++++--
|
||||
testsuite/gtk/objects-finalize.c | 2 ++
|
||||
20 files changed, 201 insertions(+), 17 deletions(-)
|
||||
rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (100%)
|
||||
create mode 100644 gdk/x11/gdkx-without-gl-context.h
|
||||
delete mode 100644 gdk/x11/gdkx.h
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c280543..32da151 100644
|
||||
index e27da49..a3e9beb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -340,6 +340,15 @@ AC_ARG_ENABLE(mir-backend,
|
||||
@@ -342,6 +342,15 @@ AC_ARG_ENABLE(mir-backend,
|
||||
[enable the Mir gdk backend])],
|
||||
[backend_set=yes])
|
||||
|
||||
|
@ -66,7 +64,7 @@ index c280543..32da151 100644
|
|||
AC_ARG_ENABLE(glx,
|
||||
[AS_HELP_STRING([--enable-glx],
|
||||
[When enabled Gdk will try to initialize GLX])])
|
||||
@@ -1330,7 +1339,7 @@ CFLAGS="$saved_cflags"
|
||||
@@ -1333,7 +1342,7 @@ CFLAGS="$saved_cflags"
|
||||
LDFLAGS="$saved_ldflags"
|
||||
|
||||
GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
|
||||
|
@ -75,7 +73,7 @@ index c280543..32da151 100644
|
|||
|
||||
PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
|
||||
GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
|
||||
@@ -1364,7 +1373,7 @@ fi
|
||||
@@ -1367,7 +1376,7 @@ fi
|
||||
PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
|
||||
|
||||
GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
|
||||
|
@ -85,7 +83,7 @@ index c280543..32da151 100644
|
|||
GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
|
||||
fi
|
||||
diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c
|
||||
index c267706..b3bac86 100644
|
||||
index 3aba729..c6c79f7 100644
|
||||
--- a/demos/gtk-demo/glarea.c
|
||||
+++ b/demos/gtk-demo/glarea.c
|
||||
@@ -5,7 +5,9 @@
|
||||
|
@ -207,10 +205,10 @@ index 932daf1..54239d6 100644
|
|||
|
||||
return info;
|
||||
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
|
||||
index 892d6a7..8323768 100644
|
||||
index 6150ef7..2223629 100644
|
||||
--- a/gdk/gdkdisplay.c
|
||||
+++ b/gdk/gdkdisplay.c
|
||||
@@ -2285,7 +2285,9 @@ gboolean
|
||||
@@ -2360,7 +2360,9 @@ gboolean
|
||||
gdk_display_make_gl_context_current (GdkDisplay *display,
|
||||
GdkGLContext *context)
|
||||
{
|
||||
|
@ -222,7 +220,7 @@ index 892d6a7..8323768 100644
|
|||
|
||||
GdkRenderingMode
|
||||
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
|
||||
index 85ce63d..d76e8dc 100644
|
||||
index e8ba770..ba7c84b 100644
|
||||
--- a/gdk/gdkgl.c
|
||||
+++ b/gdk/gdkgl.c
|
||||
@@ -22,7 +22,9 @@
|
||||
|
@ -243,7 +241,7 @@ index 85ce63d..d76e8dc 100644
|
|||
static const char *
|
||||
get_vertex_type_name (int type)
|
||||
{
|
||||
@@ -205,6 +208,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
|
||||
@@ -254,6 +257,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
|
||||
glUseProgram (paint_data->current_program->program);
|
||||
}
|
||||
}
|
||||
|
@ -251,7 +249,7 @@ index 85ce63d..d76e8dc 100644
|
|||
|
||||
void
|
||||
gdk_gl_texture_quads (GdkGLContext *paint_context,
|
||||
@@ -212,6 +216,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
|
||||
@@ -261,6 +265,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
|
||||
int n_quads,
|
||||
GdkTexturedQuad *quads)
|
||||
{
|
||||
|
@ -259,7 +257,7 @@ index 85ce63d..d76e8dc 100644
|
|||
GdkGLContextPaintData *paint_data = gdk_gl_context_get_paint_data (paint_context);
|
||||
GdkGLContextProgram *program;
|
||||
GdkWindow *window = gdk_gl_context_get_window (paint_context);
|
||||
@@ -275,6 +280,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
|
||||
@@ -324,6 +329,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
|
||||
|
||||
glDisableVertexAttribArray (program->position_location);
|
||||
glDisableVertexAttribArray (program->uv_location);
|
||||
|
@ -267,7 +265,7 @@ index 85ce63d..d76e8dc 100644
|
|||
}
|
||||
|
||||
/* x,y,width,height describes a rectangle in the gl render buffer
|
||||
@@ -323,6 +329,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
|
||||
@@ -372,6 +378,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
|
||||
int width,
|
||||
int height)
|
||||
{
|
||||
|
@ -275,7 +273,7 @@ index 85ce63d..d76e8dc 100644
|
|||
GdkGLContext *paint_context;
|
||||
cairo_surface_t *image;
|
||||
cairo_matrix_t matrix;
|
||||
@@ -643,6 +650,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
|
||||
@@ -692,6 +699,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
|
||||
if (clip_region)
|
||||
cairo_region_destroy (clip_region);
|
||||
|
||||
|
@ -283,7 +281,7 @@ index 85ce63d..d76e8dc 100644
|
|||
}
|
||||
|
||||
/* This is always called with the paint context current */
|
||||
@@ -650,6 +658,7 @@ void
|
||||
@@ -699,6 +707,7 @@ void
|
||||
gdk_gl_texture_from_surface (cairo_surface_t *surface,
|
||||
cairo_region_t *region)
|
||||
{
|
||||
|
@ -291,14 +289,14 @@ index 85ce63d..d76e8dc 100644
|
|||
GdkGLContext *paint_context;
|
||||
cairo_surface_t *image;
|
||||
double device_x_offset, device_y_offset;
|
||||
@@ -750,4 +759,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
|
||||
@@ -799,4 +808,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
|
||||
|
||||
glDisable (GL_SCISSOR_TEST);
|
||||
glDeleteTextures (1, &texture_id);
|
||||
+#endif
|
||||
}
|
||||
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
|
||||
index 4d71353..9bb55ef 100644
|
||||
index 00a33eb..bd8a793 100644
|
||||
--- a/gdk/gdkglcontext.c
|
||||
+++ b/gdk/gdkglcontext.c
|
||||
@@ -85,7 +85,9 @@
|
||||
|
@ -311,7 +309,7 @@ index 4d71353..9bb55ef 100644
|
|||
|
||||
typedef struct {
|
||||
GdkDisplay *display;
|
||||
@@ -238,6 +240,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
|
||||
@@ -239,6 +241,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
|
||||
int height,
|
||||
guint texture_target)
|
||||
{
|
||||
|
@ -319,7 +317,7 @@ index 4d71353..9bb55ef 100644
|
|||
g_return_if_fail (GDK_IS_GL_CONTEXT (context));
|
||||
|
||||
glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
|
||||
@@ -245,6 +248,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
|
||||
@@ -246,6 +249,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
|
||||
glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
|
||||
cairo_image_surface_get_data (image_surface));
|
||||
glPixelStorei (GL_UNPACK_ROW_LENGTH, 0);
|
||||
|
@ -327,7 +325,7 @@ index 4d71353..9bb55ef 100644
|
|||
}
|
||||
|
||||
static void
|
||||
@@ -586,6 +590,7 @@ gdk_gl_context_realize (GdkGLContext *context,
|
||||
@@ -635,6 +639,7 @@ gdk_gl_context_realize (GdkGLContext *context,
|
||||
static void
|
||||
gdk_gl_context_check_extensions (GdkGLContext *context)
|
||||
{
|
||||
|
@ -335,8 +333,8 @@ index 4d71353..9bb55ef 100644
|
|||
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
|
||||
gboolean has_npot, has_texture_rectangle;
|
||||
|
||||
@@ -628,6 +633,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
|
||||
priv->use_texture_rectangle ? "yes" : "no"));
|
||||
@@ -677,6 +682,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
|
||||
priv->use_texture_rectangle ? "yes" : "no"));
|
||||
|
||||
priv->extensions_checked = TRUE;
|
||||
+#endif
|
||||
|
@ -344,7 +342,7 @@ index 4d71353..9bb55ef 100644
|
|||
|
||||
/**
|
||||
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
|
||||
index c34c113..3025e96 100644
|
||||
index 66ebb9d..74a0c3a 100644
|
||||
--- a/gdk/gdkwindow.c
|
||||
+++ b/gdk/gdkwindow.c
|
||||
@@ -44,7 +44,9 @@
|
||||
|
@ -357,15 +355,7 @@ index c34c113..3025e96 100644
|
|||
|
||||
/* for the use of round() */
|
||||
#include "fallback-c89.c"
|
||||
@@ -1455,7 +1457,6 @@ gdk_window_new (GdkWindow *parent,
|
||||
g_signal_connect (device_manager, "device-removed",
|
||||
G_CALLBACK (device_removed_cb), window);
|
||||
|
||||
-
|
||||
if ((_gdk_gl_flags & (GDK_GL_ALWAYS | GDK_GL_DISABLE)) == GDK_GL_ALWAYS)
|
||||
{
|
||||
GError *error = NULL;
|
||||
@@ -2761,6 +2762,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
|
||||
@@ -2759,6 +2761,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
|
||||
{
|
||||
GError *internal_error = NULL;
|
||||
|
||||
|
@ -379,7 +369,7 @@ index c34c113..3025e96 100644
|
|||
if (_gdk_gl_flags & GDK_GL_DISABLE)
|
||||
{
|
||||
g_set_error_literal (error, GDK_GL_ERROR,
|
||||
@@ -2957,6 +2965,7 @@ gdk_window_begin_paint_region (GdkWindow *window,
|
||||
@@ -2955,6 +2964,7 @@ gdk_window_begin_paint_region (GdkWindow *window,
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -387,7 +377,7 @@ index c34c113..3025e96 100644
|
|||
gdk_gl_context_make_current (context);
|
||||
/* With gl we always need a surface to combine the gl
|
||||
drawing with the native drawing. */
|
||||
@@ -2971,6 +2980,7 @@ gdk_window_begin_paint_region (GdkWindow *window,
|
||||
@@ -2969,6 +2979,7 @@ gdk_window_begin_paint_region (GdkWindow *window,
|
||||
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
glViewport (0, 0, ww, wh);
|
||||
|
@ -395,7 +385,7 @@ index c34c113..3025e96 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -3119,6 +3129,7 @@ gdk_window_end_paint (GdkWindow *window)
|
||||
@@ -3117,6 +3128,7 @@ gdk_window_end_paint (GdkWindow *window)
|
||||
|
||||
gdk_gl_context_make_current (window->gl_paint_context);
|
||||
|
||||
|
@ -403,7 +393,7 @@ index c34c113..3025e96 100644
|
|||
if (!cairo_region_is_empty (opaque_region))
|
||||
gdk_gl_texture_from_surface (window->current_paint.surface,
|
||||
opaque_region);
|
||||
@@ -3129,6 +3140,7 @@ gdk_window_end_paint (GdkWindow *window)
|
||||
@@ -3127,6 +3139,7 @@ gdk_window_end_paint (GdkWindow *window)
|
||||
window->current_paint.need_blend_region);
|
||||
glDisable(GL_BLEND);
|
||||
}
|
||||
|
@ -412,7 +402,7 @@ index c34c113..3025e96 100644
|
|||
cairo_region_destroy (opaque_region);
|
||||
|
||||
diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
|
||||
index c488a31..d0aa7ce 100644
|
||||
index c488a31..4ce3c07 100644
|
||||
--- a/gdk/x11/Makefile.am
|
||||
+++ b/gdk/x11/Makefile.am
|
||||
@@ -39,8 +39,6 @@ libgdk_x11_la_SOURCES = \
|
||||
|
@ -424,7 +414,7 @@ index c488a31..d0aa7ce 100644
|
|||
gdkkeys-x11.c \
|
||||
gdkmain-x11.c \
|
||||
gdkproperty-x11.c \
|
||||
@@ -53,14 +51,30 @@ libgdk_x11_la_SOURCES = \
|
||||
@@ -53,14 +51,32 @@ libgdk_x11_la_SOURCES = \
|
||||
gdkwindow-x11.h \
|
||||
gdkxftdefaults.c \
|
||||
gdkxid.c \
|
||||
|
@ -450,13 +440,15 @@ index c488a31..d0aa7ce 100644
|
|||
+
|
||||
+BUILT_SOURCES = gdkx.h
|
||||
+
|
||||
+.PHONY: gdkx.h
|
||||
+gdkx.h:
|
||||
+ $(AM_V_GEN) cd $(srcdir) && cp $(GDKX_HEADER) gdkx.h
|
||||
+ $(AM_V_GEN) cd $(srcdir) \
|
||||
+ && (cmp -s $(GDKX_HEADER) gdkx.h || cp $(GDKX_HEADER) gdkx.h )
|
||||
+
|
||||
libgdkx11include_HEADERS = \
|
||||
gdkx-autocleanups.h \
|
||||
gdkx11applaunchcontext.h \
|
||||
@@ -74,7 +88,6 @@ libgdkx11include_HEADERS = \
|
||||
@@ -74,7 +90,6 @@ libgdkx11include_HEADERS = \
|
||||
gdkx11display.h \
|
||||
gdkx11displaymanager.h \
|
||||
gdkx11dnd.h \
|
||||
|
@ -464,7 +456,7 @@ index c488a31..d0aa7ce 100644
|
|||
gdkx11keys.h \
|
||||
gdkx11property.h \
|
||||
gdkx11screen.h \
|
||||
@@ -83,9 +96,16 @@ libgdkx11include_HEADERS = \
|
||||
@@ -83,9 +98,16 @@ libgdkx11include_HEADERS = \
|
||||
gdkx11visual.h \
|
||||
gdkx11window.h
|
||||
|
||||
|
@ -482,7 +474,7 @@ index c488a31..d0aa7ce 100644
|
|||
+
|
||||
-include $(top_srcdir)/git.mk
|
||||
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
|
||||
index 5816d18..5d2dae6 100644
|
||||
index de91c64..42d50f6 100644
|
||||
--- a/gdk/x11/gdkdisplay-x11.c
|
||||
+++ b/gdk/x11/gdkdisplay-x11.c
|
||||
@@ -37,7 +37,9 @@
|
||||
|
@ -495,19 +487,19 @@ index 5816d18..5d2dae6 100644
|
|||
#include "gdk-private.h"
|
||||
|
||||
#include <glib.h>
|
||||
@@ -2989,8 +2991,8 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
|
||||
display_class->convert_selection = _gdk_x11_display_convert_selection;
|
||||
@@ -2959,7 +2961,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
|
||||
display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
|
||||
display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
|
||||
-
|
||||
|
||||
- display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
|
||||
+#ifdef HAVE_OPENGL
|
||||
display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
|
||||
-
|
||||
+ display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
|
||||
+#endif
|
||||
_gdk_x11_windowing_init ();
|
||||
}
|
||||
|
||||
display_class->get_default_seat = gdk_x11_display_get_default_seat;
|
||||
|
||||
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
|
||||
index 2bd7f28..30032e0 100644
|
||||
index 9d8ed20..bd46b00 100644
|
||||
--- a/gdk/x11/gdkscreen-x11.c
|
||||
+++ b/gdk/x11/gdkscreen-x11.c
|
||||
@@ -1968,3 +1968,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
|
||||
|
@ -520,7 +512,7 @@ index 2bd7f28..30032e0 100644
|
|||
+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
|
||||
+#endif
|
||||
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
|
||||
index d08cee0..d354628 100644
|
||||
index 9ed087a..30d6eb7 100644
|
||||
--- a/gdk/x11/gdkwindow-x11.c
|
||||
+++ b/gdk/x11/gdkwindow-x11.c
|
||||
@@ -36,7 +36,9 @@
|
||||
|
@ -533,7 +525,7 @@ index d08cee0..d354628 100644
|
|||
#include "gdkprivate-x11.h"
|
||||
#include "gdk-private.h"
|
||||
|
||||
@@ -5768,7 +5770,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
|
||||
@@ -5782,7 +5784,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
|
||||
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
|
||||
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
|
||||
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
|
||||
|
@ -557,71 +549,10 @@ index edb0ea7..a317d61 100644
|
|||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
|
||||
diff --git a/gdk/x11/gdkx-with-gl-context.h b/gdk/x11/gdkx-with-gl-context.h
|
||||
new file mode 100644
|
||||
index 0000000..ae05fa6
|
||||
--- /dev/null
|
||||
+++ b/gdk/x11/gdkx-with-gl-context.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* GDK - The GIMP Drawing Kit
|
||||
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
||||
+ * file for a list of people on the GTK+ Team. See the ChangeLog
|
||||
+ * files for a list of changes. These files are distributed with
|
||||
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __GDK_X_H__
|
||||
+#define __GDK_X_H__
|
||||
+
|
||||
+#include <gdk/gdk.h>
|
||||
+
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/Xutil.h>
|
||||
+
|
||||
+#define __GDKX_H_INSIDE__
|
||||
+
|
||||
+#include <gdk/x11/gdkx11applaunchcontext.h>
|
||||
+#include <gdk/x11/gdkx11cursor.h>
|
||||
+#include <gdk/x11/gdkx11device.h>
|
||||
+#include <gdk/x11/gdkx11device-core.h>
|
||||
+#include <gdk/x11/gdkx11device-xi2.h>
|
||||
+#include <gdk/x11/gdkx11devicemanager.h>
|
||||
+#include <gdk/x11/gdkx11devicemanager-core.h>
|
||||
+#include <gdk/x11/gdkx11devicemanager-xi2.h>
|
||||
+#include <gdk/x11/gdkx11display.h>
|
||||
+#include <gdk/x11/gdkx11displaymanager.h>
|
||||
+#include <gdk/x11/gdkx11dnd.h>
|
||||
+#include <gdk/x11/gdkx11glcontext.h>
|
||||
+#include <gdk/x11/gdkx11keys.h>
|
||||
+#include <gdk/x11/gdkx11property.h>
|
||||
+#include <gdk/x11/gdkx11screen.h>
|
||||
+#include <gdk/x11/gdkx11selection.h>
|
||||
+#include <gdk/x11/gdkx11utils.h>
|
||||
+#include <gdk/x11/gdkx11visual.h>
|
||||
+#include <gdk/x11/gdkx11window.h>
|
||||
+
|
||||
+#include <gdk/x11/gdkx-autocleanups.h>
|
||||
+
|
||||
+#undef __GDKX_H_INSIDE__
|
||||
+
|
||||
+#endif /* __GDK_X_H__ */
|
||||
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h
|
||||
similarity index 100%
|
||||
rename from gdk/x11/gdkx.h
|
||||
rename to gdk/x11/gdkx-with-gl-context.h
|
||||
diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h
|
||||
new file mode 100644
|
||||
index 0000000..c9e2617
|
||||
|
@ -686,76 +617,11 @@ index 0000000..c9e2617
|
|||
+#undef __GDKX_H_INSIDE__
|
||||
+
|
||||
+#endif /* __GDK_X_H__ */
|
||||
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
|
||||
deleted file mode 100644
|
||||
index ae05fa6..0000000
|
||||
--- a/gdk/x11/gdkx.h
|
||||
+++ /dev/null
|
||||
@@ -1,59 +0,0 @@
|
||||
-/* GDK - The GIMP Drawing Kit
|
||||
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
||||
- *
|
||||
- * This library is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU Lesser General Public
|
||||
- * License as published by the Free Software Foundation; either
|
||||
- * version 2 of the License, or (at your option) any later version.
|
||||
- *
|
||||
- * This library is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- * Lesser General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Lesser General Public
|
||||
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
- */
|
||||
-
|
||||
-/*
|
||||
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
||||
- * file for a list of people on the GTK+ Team. See the ChangeLog
|
||||
- * files for a list of changes. These files are distributed with
|
||||
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
- */
|
||||
-
|
||||
-#ifndef __GDK_X_H__
|
||||
-#define __GDK_X_H__
|
||||
-
|
||||
-#include <gdk/gdk.h>
|
||||
-
|
||||
-#include <X11/Xlib.h>
|
||||
-#include <X11/Xutil.h>
|
||||
-
|
||||
-#define __GDKX_H_INSIDE__
|
||||
-
|
||||
-#include <gdk/x11/gdkx11applaunchcontext.h>
|
||||
-#include <gdk/x11/gdkx11cursor.h>
|
||||
-#include <gdk/x11/gdkx11device.h>
|
||||
-#include <gdk/x11/gdkx11device-core.h>
|
||||
-#include <gdk/x11/gdkx11device-xi2.h>
|
||||
-#include <gdk/x11/gdkx11devicemanager.h>
|
||||
-#include <gdk/x11/gdkx11devicemanager-core.h>
|
||||
-#include <gdk/x11/gdkx11devicemanager-xi2.h>
|
||||
-#include <gdk/x11/gdkx11display.h>
|
||||
-#include <gdk/x11/gdkx11displaymanager.h>
|
||||
-#include <gdk/x11/gdkx11dnd.h>
|
||||
-#include <gdk/x11/gdkx11glcontext.h>
|
||||
-#include <gdk/x11/gdkx11keys.h>
|
||||
-#include <gdk/x11/gdkx11property.h>
|
||||
-#include <gdk/x11/gdkx11screen.h>
|
||||
-#include <gdk/x11/gdkx11selection.h>
|
||||
-#include <gdk/x11/gdkx11utils.h>
|
||||
-#include <gdk/x11/gdkx11visual.h>
|
||||
-#include <gdk/x11/gdkx11window.h>
|
||||
-
|
||||
-#include <gdk/x11/gdkx-autocleanups.h>
|
||||
-
|
||||
-#undef __GDKX_H_INSIDE__
|
||||
-
|
||||
-#endif /* __GDK_X_H__ */
|
||||
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
|
||||
index 801c3a5..2d8839d 100644
|
||||
index 6a53a2b..49a35e6 100644
|
||||
--- a/gtk/Makefile.am
|
||||
+++ b/gtk/Makefile.am
|
||||
@@ -1246,14 +1246,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
|
||||
@@ -1351,14 +1351,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
|
||||
&& cp xgen-gptbc gtkprivatetypebuiltins.c \
|
||||
&& rm -f xgen-gptbc
|
||||
|
||||
|
@ -772,7 +638,7 @@ index 801c3a5..2d8839d 100644
|
|||
gtktestutils.c: gtktypefuncs.c
|
||||
|
||||
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
|
||||
index 4098409..45fa1d1 100644
|
||||
index 245fc6b..4214ad1 100644
|
||||
--- a/gtk/gtkglarea.c
|
||||
+++ b/gtk/gtkglarea.c
|
||||
@@ -28,7 +28,9 @@
|
||||
|
@ -868,7 +734,7 @@ index 4098409..45fa1d1 100644
|
|||
|
||||
static gboolean
|
||||
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
|
||||
index 0611373..4499a29 100644
|
||||
index 4eab3a7..c4e900e 100644
|
||||
--- a/gtk/inspector/general.c
|
||||
+++ b/gtk/inspector/general.c
|
||||
@@ -33,8 +33,10 @@
|
||||
|
@ -882,7 +748,7 @@ index 0611373..4499a29 100644
|
|||
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
#include "win32/gdkwin32.h"
|
||||
@@ -146,6 +148,7 @@ append_extension_row (GtkInspectorGeneral *gen,
|
||||
@@ -147,6 +149,7 @@ append_extension_row (GtkInspectorGeneral *gen,
|
||||
gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
|
||||
}
|
||||
|
||||
|
@ -890,7 +756,7 @@ index 0611373..4499a29 100644
|
|||
#ifdef GDK_WINDOWING_X11
|
||||
static void
|
||||
append_glx_extension_row (GtkInspectorGeneral *gen,
|
||||
@@ -155,6 +158,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
|
||||
@@ -156,6 +159,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
|
||||
append_extension_row (gen, ext, epoxy_has_glx_extension (dpy, 0, ext));
|
||||
}
|
||||
#endif
|
||||
|
@ -898,27 +764,27 @@ index 0611373..4499a29 100644
|
|||
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
static void
|
||||
@@ -174,6 +178,7 @@ init_gl (GtkInspectorGeneral *gen)
|
||||
|
||||
display = gdk_display_get_default ();
|
||||
|
||||
@@ -171,6 +175,7 @@ append_egl_extension_row (GtkInspectorGeneral *gen,
|
||||
static void
|
||||
init_gl (GtkInspectorGeneral *gen)
|
||||
{
|
||||
+#ifdef HAVE_OPENGL
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
if (GDK_IS_X11_DISPLAY (display))
|
||||
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
|
||||
{
|
||||
@@ -199,6 +204,7 @@ init_gl (GtkInspectorGeneral *gen)
|
||||
@@ -197,6 +202,7 @@ init_gl (GtkInspectorGeneral *gen)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
+#endif
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
if (GDK_IS_WAYLAND_DISPLAY (display))
|
||||
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
|
||||
{
|
||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||
index 50f2986..3b39169 100644
|
||||
index 681807d..2941a36 100644
|
||||
--- a/tests/Makefile.am
|
||||
+++ b/tests/Makefile.am
|
||||
@@ -78,8 +78,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
|
||||
@@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
|
||||
testfullscreen \
|
||||
testgeometry \
|
||||
testgiconpixbuf \
|
||||
|
@ -927,18 +793,19 @@ index 50f2986..3b39169 100644
|
|||
testgrid \
|
||||
testgtk \
|
||||
testheaderbar \
|
||||
@@ -166,10 +164,16 @@ noinst_PROGRAMS = $(TEST_PROGS) \
|
||||
@@ -169,11 +167,17 @@ noinst_PROGRAMS = $(TEST_PROGS) \
|
||||
testactionbar \
|
||||
testwindowsize \
|
||||
testpopover \
|
||||
- gdkgears \
|
||||
listmodel \
|
||||
testpopup \
|
||||
$(NULL)
|
||||
|
||||
+if HAVE_OPENGL
|
||||
+noinst_PROGRAMS +=
|
||||
+ testglarea \
|
||||
+ testglblending \
|
||||
+ testglarea \
|
||||
+ testglblending \
|
||||
+ gdkgears
|
||||
+endif
|
||||
+
|
||||
|
@ -946,11 +813,11 @@ index 50f2986..3b39169 100644
|
|||
noinst_PROGRAMS += testerrors
|
||||
endif
|
||||
diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
|
||||
index 3568505..682ea10 100644
|
||||
index e0ebee0..703643c 100644
|
||||
--- a/testsuite/gtk/objects-finalize.c
|
||||
+++ b/testsuite/gtk/objects-finalize.c
|
||||
@@ -114,8 +114,10 @@ main (int argc, char **argv)
|
||||
all_types[i] != GDK_TYPE_X11_DISPLAY &&
|
||||
@@ -115,8 +115,10 @@ main (int argc, char **argv)
|
||||
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
|
||||
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
|
||||
all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
|
||||
+#ifdef HAVE_OPENGL
|
||||
|
@ -961,5 +828,5 @@ index 3568505..682ea10 100644
|
|||
all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
|
||||
all_types[i] != gdk_pixbuf_simple_anim_iter_get_type())
|
||||
--
|
||||
2.8.1
|
||||
2.1.4
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From 97b78e566634579bbae51be914aeaaa921137a8b Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Thu, 9 Jun 2016 11:21:36 +0300
|
||||
Subject: [PATCH 4/4] configure.ac: Fix wayland-protocols path
|
||||
|
||||
The wayland-protocols directory is used during build: Fix the path
|
||||
to point to sysroot specified in recipe.
|
||||
|
||||
Normally PKG_CONFIG_SYSROOT_DIR could be used in configure.ac but that
|
||||
breaks multilib gtk+ as it would point to multilib sysroot when the
|
||||
(allarch) wayland-protocols is actually in the machine sysroot.
|
||||
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a3e9beb..dde9dc5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -461,7 +461,7 @@ fi
|
||||
if test "$enable_wayland_backend" = "yes"; then
|
||||
# For the cairo image backend
|
||||
cairo_backends="$cairo_backends cairo"
|
||||
- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
|
||||
+ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, ${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
|
||||
GDK_BACKENDS="$GDK_BACKENDS wayland"
|
||||
GDK_WINDOWING="$GDK_WINDOWING
|
||||
#define GDK_WINDOWING_WAYLAND"
|
||||
--
|
||||
2.1.4
|
||||
|
|
@ -1,118 +0,0 @@
|
|||
window: Check if we can use CSD before enabling them
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
|
||||
|
||||
From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
|
||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
||||
Date: Wed, 3 Jun 2015 14:07:29 +0100
|
||||
Subject: window: Check if we can use CSD before enabling them
|
||||
|
||||
The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules
|
||||
as to when CSD can be enabled, but it also unconditionally enables CSD
|
||||
with the implicit assumption that client-side shadows were the real
|
||||
issue, and that we could work around that by drawing our own borders.
|
||||
This also means that setting a titlebar for a GtkWindow will enable CSD
|
||||
unconditionally.
|
||||
|
||||
In reality, some window managers (like Matchbox) *only* support
|
||||
server-side decorations, and will ignore all hints to the contrary, to
|
||||
the point of drawing decorations at random locations on top of the
|
||||
window.
|
||||
|
||||
Since CSD are enabled unconditionally, the GTK_CSD environment variable
|
||||
is also not a suitable escape hatch.
|
||||
|
||||
In the grand tradition of asking ourselves if we should do something
|
||||
just because we can, we should split the environment checks from the
|
||||
checks on what the user requested; by doing that, we can also check
|
||||
when enabling client-side decorations, and ideally bail out if needed.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=750343
|
||||
|
||||
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
|
||||
index 423c6bd..9fe882f 100644
|
||||
--- a/gtk/gtkwindow.c
|
||||
+++ b/gtk/gtkwindow.c
|
||||
@@ -4056,6 +4056,32 @@ gtk_window_supports_client_shadow (GtkWindow *window)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+gtk_window_can_use_csd (GtkWindow *window)
|
||||
+{
|
||||
+ const gchar *csd_env;
|
||||
+
|
||||
+#ifdef GDK_WINDOWING_BROADWAY
|
||||
+ if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+
|
||||
+#ifdef GDK_WINDOWING_WAYLAND
|
||||
+ if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+
|
||||
+#ifdef GDK_WINDOWING_MIR
|
||||
+ if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+
|
||||
+ csd_env = g_getenv ("GTK_CSD");
|
||||
+
|
||||
+ /* If GTK_CSD is unset we default to CSD support */
|
||||
+ return csd_env == NULL || (strcmp (csd_env, "1") == 0);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
gtk_window_enable_csd (GtkWindow *window)
|
||||
{
|
||||
@@ -4063,6 +4089,10 @@ gtk_window_enable_csd (GtkWindow *window)
|
||||
GtkWidget *widget = GTK_WIDGET (window);
|
||||
GdkVisual *visual;
|
||||
|
||||
+ /* If the environment does not support CSD, then there's no point in enabling them */
|
||||
+ if (!gtk_window_can_use_csd (window))
|
||||
+ return;
|
||||
+
|
||||
/* We need a visual with alpha for client shadows */
|
||||
if (priv->use_client_shadow)
|
||||
{
|
||||
@@ -5839,7 +5869,6 @@ static gboolean
|
||||
gtk_window_should_use_csd (GtkWindow *window)
|
||||
{
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
- const gchar *csd_env;
|
||||
|
||||
if (priv->csd_requested)
|
||||
return TRUE;
|
||||
@@ -5850,24 +5879,7 @@ gtk_window_should_use_csd (GtkWindow *window)
|
||||
if (priv->type == GTK_WINDOW_POPUP)
|
||||
return FALSE;
|
||||
|
||||
-#ifdef GDK_WINDOWING_BROADWAY
|
||||
- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
- return TRUE;
|
||||
-#endif
|
||||
-
|
||||
-#ifdef GDK_WINDOWING_WAYLAND
|
||||
- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
- return TRUE;
|
||||
-#endif
|
||||
-
|
||||
-#ifdef GDK_WINDOWING_MIR
|
||||
- if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
|
||||
- return TRUE;
|
||||
-#endif
|
||||
-
|
||||
- csd_env = g_getenv ("GTK_CSD");
|
||||
-
|
||||
- return (g_strcmp0 (csd_env, "1") == 0);
|
||||
+ return gtk_window_can_use_csd (window);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
|
@ -3,14 +3,13 @@ require gtk+3.inc
|
|||
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
||||
|
||||
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
|
||||
file://hardcoded_libtool.patch \
|
||||
file://Dont-force-csd.patch \
|
||||
file://Do-not-try-to-initialize-GL-without-libGL.patch \
|
||||
file://0001-Add-disable-opengl-configure-option.patch \
|
||||
file://0001-Hardcoded-libtool.patch \
|
||||
file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \
|
||||
file://0003-Add-disable-opengl-configure-option.patch \
|
||||
file://0004-configure.ac-Fix-wayland-protocols-path.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "9671acb41dc13561d19233f1a75cf184"
|
||||
SRC_URI[sha256sum] = "1c53ef1bb55364698f7183ecd185b547f92f4a3a7abfafd531400232e2e052f8"
|
||||
SRC_URI[md5sum] = "914e55ea053161f4a575c1c8dade7954"
|
||||
SRC_URI[sha256sum] = "3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2"
|
||||
|
||||
S = "${WORKDIR}/gtk+-${PV}"
|
||||
|
|
@ -10,8 +10,8 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
|||
|
||||
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
|
||||
file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
|
||||
SRC_URI[md5sum] = "9671acb41dc13561d19233f1a75cf184"
|
||||
SRC_URI[sha256sum] = "1c53ef1bb55364698f7183ecd185b547f92f4a3a7abfafd531400232e2e052f8"
|
||||
SRC_URI[md5sum] = "914e55ea053161f4a575c1c8dade7954"
|
||||
SRC_URI[sha256sum] = "3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
|
||||
file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
|
Loading…
Reference in New Issue