Commit Graph

633 Commits

Author SHA1 Message Date
Christoph Reiter
940126c427 meson: fix code examples in the gtk docs build
getting_started.xml uses relative paths for including code examples
and for some reason the base path is different with meson than with autotools.

Switch both autotools and meson to generate the file and insert the absolute
source path instead.

This also cleans up the content file list: the expand content files have to
be in the content file list as well, so just append them there.
2019-04-11 16:45:37 +02:00
Matthias Clasen
5428379fad 3.24.8 2019-04-10 17:12:29 -04:00
Christoph Reiter
9fe71ccdc1 build: remove unused checks for sockaddr_un.sun_len
It sets HAVE_SOCKADDR_UN_SUN_LEN which is unused since d3ab2fe19c
2019-04-02 18:46:38 +02:00
Christoph Reiter
1b52b48814 build: remove unused check for GNU ftw
It sets HAVE_GNU_FTW which is unused since 4acbcf9e97
2019-04-02 08:52:31 +02:00
Christoph Reiter
30f34ba224 build: Fix fribidi version reqs in Requires.private
This resulted in "fribidi_required_dep" being written to the .pc file
instead of the version number.
2019-03-29 22:01:23 +01:00
Matthias Clasen
d9a382d689 3.24.7 2019-03-12 16:25:10 -04:00
Matthias Clasen
34e64ce5c2 3.24.6 2019-03-12 14:54:36 -04:00
Matthias Clasen
47e4a111c2 Try again
We only want fribidi as a private dependency.
2019-02-05 08:04:14 -05:00
Matthias Clasen
f533ef8650 Link gdk against fribidi
It is required now.
2019-02-05 07:17:07 -05:00
Matthias Clasen
bf60bf15de 3.24.5 2019-02-04 11:48:56 -05:00
Matthias Clasen
417c57e5b7 Add an explicit fribidi dependency
We already depend on it indirectly, via pango.
And we will use it to replace deprecated pango apis.
2019-01-31 14:07:28 -05:00
Matthias Clasen
d3e5cc3b9d 3.24.4 2019-01-21 08:28:07 -05:00
Matthias Clasen
c9d09695f8 3.24.3 2019-01-13 23:11:14 -05:00
Matthias Clasen
363df54e54 3.24.2 2018-12-12 13:35:04 -05:00
Simon Wells
382ba0ca83 Use -Wl for the framework linker argument 2018-11-05 20:11:30 +13:00
Matthias Clasen
f5ad1786e8 3.24.1 2018-09-18 21:42:55 -04:00
Mart Raudsepp
9b563b9daa build: Raise glib dependency for unicode 10.0 script names
Unicode 10.0 script name enums are used in gtk/script-names.c, which
aren't defined before glib-2.53.4.
2018-09-12 13:30:18 +03:00
Matthias Clasen
ef1a1b5cb1 3.24.0 2018-09-03 12:41:53 -04:00
Matthias Clasen
34c7eba642 3.23.3 2018-08-28 20:27:03 -04:00
Chun-wei Fan
723e50990f gtk/fallback-c89.c: Add C89 fallback for trunc()
Check for trunc() during configure and provide a fallback implementation
for it if it is not found.
2018-08-28 17:43:04 +08:00
Kouhei Sutou
4c94a76237 font chooser widget: Add missing build flags
If we detect HarfBuzz and PangoFT2, GtkFontChooserWidget uses them. So
we need to add CFLAGS and LIBS of them to GTK_DEP_CFLAGS/LIBS. If we
don't add them, MinGW build fails to link.
2018-08-06 16:19:35 +09:00
Matthias Clasen
69c85be8b2 3.23.2 2018-07-30 18:33:32 -04:00
Matthias Clasen
f7f3939b04 3.23.1 2018-07-18 16:58:17 -04:00
Chun-wei Fan
af66faf604 Add a EGL renderer (via ANGLE) for Windows
This is for adding a EGL-based renderer which is done via the ANGLE
project, which translate EGL calls to Direct3D 9/11.  This is done as a
possible solution to issue #105, especially for cases where the needed
full GL extensions to map OpenGL to Direc3D is unavailable or
unreliable, or when the OpenGL implementation from the graphics drivers
are problematic.

To enable this, do the following:
-Build ANGLE and ensure the ANGLE libEGL.dll and libGLESv2.dll are
 available.  A sufficiently-recent ANGLE is needed for things to
 work correctly--note that the copy of ANGLE that is included in
 qtbase-5.10.1 is sufficient.  ANGLE is licensed under a BSD 3-clause
 license.  Note also that Visual Studio 2013 or later is required to
 build ANGLE from QT-5.10.1, but the 2013-built ANGLE DLLs can work
 without without problems for GTK+ that is built with Visual Studio
 2008 or later.
-Build libepoxy on Windows with EGL support enabled.
-Define GDK_WIN32_ENABLE_EGL when building gdk-win32.lib when building
 with Visual Studio, or pass in --enable-win32-gles during configure
 when building with MinGW/mingw-w64.
-Prior to running GTK+ programs, the GDK_GL envvar needs to contain
 gles.

Known issues:
-Only OpenGL ES 3 is supported, ANGLE's ES 2 does not support the needed
 extensions, notably GL_OES_vertex_array_object, but its ES 3 support is
 sufficient.
-There is no autodetection or fallback mechanism to enable using
 EGL/Angle automatically yet.  There is no plans to do this in this
 commit.

Thanks to LRN for pointing out that we should #include
"win32/gdkwin32.h" instead of #include "gdkwin32.h" for gdkgl.c.  LRN
also did the autotools portion of this patch.

Further notes about the autotools --enable-win32-gles option, fom LRN:

This adds --enable-win32-gles option, which enables the
code for GLES renderer.  This commit also adds tests for WGL and
EGL in epoxy.  The absence of WGL is highly unlikely (it's enabled
by default), but checking for EGL when GLES is enabled is necessary,
as EGL is disabled in Windows builds of epoxy by default.
2018-06-28 15:33:42 +08:00
Matthias Clasen
c7168f48d5 Bump version to 3.23.0
Yes, we are adding some api here.
2018-06-04 18:58:08 -04:00
Matthias Clasen
d60cd1f49f font chooser: Add font features
Populate the tweak page with OpenType font features.
2018-05-18 09:31:15 +01:00
Matthias Clasen
90c9a4ba05 Bump the pango requirement
We want to use the new font variation api in pango 1.41.
2018-05-18 09:31:15 +01:00
Ting-Wei Lan
a9f0704ae1 wayland: Use dev/evdev/input.h on FreeBSD
The header linux/input.h used by GDK is specific to Linux. It is
possible to get a few Linux headers on FreeBSD by installing v4l_compat,
but it is usually better to use the one shipped with FreeBSD.

We prefer dev/evdev/input.h to linux/input.h here, so it will always use
dev/evdev/input.h on FreeBSD regardless of v4l_compat.

https://svnweb.freebsd.org/changeset/ports/465644
2018-05-01 22:00:31 +08:00
Emmanuele Bassi
ba883b55ee Bump up the dependency of libepoxy
We're going to use API introduced in libepoxy 1.4 to check for GLX
availability.

https://bugzilla.gnome.org/show_bug.cgi?id=775279
2018-04-23 09:13:41 +01:00
Matthias Clasen
2e7ac262be 3.22.30 2018-04-16 14:06:02 -04:00
Jonas Ådahl
a46bc8b5a3 wayland: Add support for xdg-shell stable
This commit adds support the stable version of the xdg-shell protocol.
Support for the last version of the unstable series is left intact, but
will not receive new features.

The stable version is prioritized above the older version.

https://bugzilla.gnome.org/show_bug.cgi?id=791939
2018-03-16 17:44:48 +08:00
Matthias Clasen
9f6deab88c 3.22.29 2018-03-12 22:22:05 -04:00
Matthias Clasen
9f142161e4 Merge branch 'wip/carlosg/imwayland-3-22' into 'gtk-3-22'
modules: Add wayland IM implementation

See merge request GNOME/gtk!5
2018-02-15 03:03:02 +00:00
Matthias Clasen
463ee95136 3.22.28 2018-02-14 12:48:01 -05:00
Carlos Garnacho
e8bffe0c56 modules: Add wayland IM implementation
This IM context implementation goes through the gtk-text-input protocol,
leaving up to the compositor the actual interaction with IM engines. If
the protocol is not offered by the compositor, GTK+ will fallback to the
IMs as specified through GtkSettings.
2018-02-14 14:58:06 +01:00
Matthias Clasen
7ea53087ca 3.22.27 2018-02-13 16:30:44 -05:00
Ting-Wei Lan
31f7b55306 configure: Don't declare functions in AC_TRY_COMPILE and AC_LANG_PROGRAM
Both AC_TRY_COMPILE and AC_LANG_PROGRAM put code passed to their second
arguments to the body of the main function. This means that we cannot
and should not declare functions there, or we end up checking whether
the compiler support nested functions instead of whether a compiler or
linker flag is supported.

GCC supports nested functions and tests succeed. Clang doesn't support
nested functions, so tests fail and -fvisibility=hidden won't be used.
This means that functions which are not intended to be used by other
programs, such as gtk_menu_tracker*, gtk_action_observ*,
gtk_menu_muxer_*, become global symbols with default visibility.

GNOME Shell has a private library libgnome-shell-menu.so, which also has
symbols gtk_menu_tracker*, gtk_action_observ*, gtk_menu_muxer_* that are
intended to be used by GNOME Shell itself. When GNOME Shell still used
Autotools build system, the executable gnome-shell explicitly linked to
libgnome-shell-menu.so, so the linker loaded libgnome-shell-menu.so
before libgtk-3.so.0 and GNOME Shell used correct symbols from its
private library.

However, after GNOME Shell switched to Meson build system, gnome-shell
executable no longer lists libgnome-shell-menu.so as its dependency.
Even if we adds it to the build file, it won't be listed in DT_NEEDED of
gnome-shell because Meson uses -Wl,--as-needed by default. This causes
the runtime linker to load libgtk-3.so.0 before libgnome-shell-menu.so
and symbols gtk_menu_tracker*, gtk_action_observ*, gtk_menu_muxer_* are
bound to libgtk-3.so.0 instead of libgnome-shell-menu.so. GNOME Shell
hangs when opening more than one window because it uses functions from
the wrong library.

This problem is already fixed in OpenBSD ports. The article describing
it can be found on OpenBSD Journal with this link:
https://undeadly.org/cgi?action=article;sid=20170930133438

https://bugzilla.gnome.org/show_bug.cgi?id=791943
2018-01-03 02:19:18 +08:00
Carlos Soriano
e672c02441 gtkplacessidebar: Adapt to libcloudproviders 0.2.0
And a few improvements on the way.

https://bugzilla.gnome.org/show_bug.cgi?id=786123
2017-11-13 15:38:26 +01:00
Matthias Clasen
77a4e2ec37 3.22.26 2017-11-07 14:52:24 -05:00
Matthias Clasen
6c39e2f2f1 3.22.25 2017-10-29 08:48:00 -04:00
Matthias Clasen
e72d54c8a7 3.22.24 2017-10-04 08:09:26 -04:00
Matthias Clasen
a5c2472941 3.22.23 2017-10-03 22:40:44 -04:00
Matthias Clasen
364559b789 3.22.22 2017-10-02 12:45:24 -04:00
Matthias Clasen
fad199b406 3.22.21 2017-09-11 11:19:47 -04:00
Matthias Clasen
51e636be0f 3.22.20 2017-09-04 13:02:58 -04:00
Julius Härtl
8a940474d7 gtkplacessidebar: adapt libcloudproviders api rename
https://bugzilla.gnome.org/show_bug.cgi?id=786123
2017-09-04 11:27:31 -04:00
Julius Härtl
a446da7eb6 gtkplacessidebar: implement libcloudproviders support
Add integration of the libcloudproviders DBus API to the
GtkPlacesSidebar by showing name and sync status of the cloud providers.
The exported menu is rendered as a GtkPopover.

The sidebar will be updated if the list of cloudproviders changes e.g.
by adding or removing an account. If any cloud provider changes detailed
information like sync status only the individual sidebar row gets
updated.

Co-authored-by: Carlos Soriano <csoriano@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=786123
2017-08-25 16:58:21 -04:00
Matthias Clasen
efbf6f183e 3.22.19 2017-08-22 08:33:11 -04:00
Hannes Müller
7b68c234b1 configure: Add missing quotes to unbreak an AS_IF
Without quoting, the comma in AC_MSG_ERROR was wrongly interpreted as
separating the if and else paths.

https://bugzilla.gnome.org/show_bug.cgi?id=786287
2017-08-14 23:15:41 +01:00
Matthias Clasen
e1cf6281fe 3.22.18 2017-08-07 19:36:19 -04:00