Commit Graph

125 Commits

Author SHA1 Message Date
3ce4f4ea78 Post-release version bump 2023-05-21 22:24:57 -04:00
b2d761f706 Post-release version bump 2023-03-02 19:43:01 -05:00
bae6a37ed9 Belated post-release bump 2023-02-25 08:05:42 -05:00
11c4cc235f input: Drop legacy text input module
This wayland protocol was merely some scaffolding until the
text_input protocol shaped up and took over. Nowadays this
could only ever help with really old versions of Mutter
(pre 3.28). This can be simply removed nowadays.
2023-02-04 10:17:50 +00:00
7e4a2a5724 Fix build_gir logic 2022-12-27 04:54:52 +00:00
35516a5e86 3.24.36 2022-12-22 09:01:18 -05:00
74bdb8d8a5 Revert "Make wayland load cursors on demand"
This reverts commit 66a199806c.
2022-12-13 18:52:29 -05:00
d819af3dbd meson: Clean up FreeType2 dependency search
Since we are using Meson 0.60.x now, make use of CMake's support for finding
FreeType in addition to pkg-config, which actually looks for FreeType2 via
looking at the headers and .lib's internally, so we don't have to reinvent
the wheel.

Sadly, we don't have similar support for Cairo and HarfBuzz in CMake, so we
have to stick with what we have now, since we still need to support older
HarfBuzz and Cairo versions as we are in a stable release series.
2022-12-09 12:41:10 +08:00
50b5144b0b Remove GTK version / interface age macros in config.h
They are present in gtk/gtkversion.h. This avoids macro redefinition
warnings.
2022-12-08 18:08:27 +00:00
302adb0ad2 Remove config.h.meson
Meson can generate a configuration file better than a human can.
2022-12-08 18:07:21 +00:00
2b0a605c5d build: Remove the Autotools build
CI and downstream packagers have been using the Meson build for a while
now, and we checked that it's idempotent to the Autotools build.

Having two build systems in tree doesn't make maintaining and releasing
GTK any easier, even if it's the stable/frozen branch.
2022-12-08 11:57:39 +00:00
4b8cdeec09 build: Conditionally generate introspection
We not only want to use the "introspection" option: we also want to
avoid building when cross-compiling, and if the introspection tools
are not available.

GTK's main development branch already has a fairly well tested check, so
let's backport it.
2022-12-08 11:37:16 +00:00
b310ee1eac build: Drop Meson version checks
We depend on a new enough version of Meson.
2022-12-06 21:50:30 +00:00
48ed99e14d build: Use a recent version of Meson
And fix the project name, while we're at it.
2022-12-06 21:18:03 +00:00
ca1dfc7092 build: Replace deprecated get_pkgconfig_variable()
Use get_variable(pkgconfig:...) instead.
2022-12-06 20:45:58 +00:00
14cf55f98d 3.24.35 2022-11-22 13:43:03 -05:00
66a199806c Make wayland load cursors on demand
Add and use a modified libwayland-cursor in-tree,
just as done in the main branch for GTK4
2022-11-04 15:16:06 +01:00
22c95cd1e9 gdk/wayland: Enable xdg-activation only if wayland-protocols >= 1.21
This way we can keep the same wayland-protocols requirement, so the latest GTK3
still builds on distributions shipping older versions of wayland-protocols,
such as Debian Bullseye.

Should fix CI builds as well.
2022-10-25 23:52:47 +02:00
4e3a3f0553 3.24.34 2022-05-18 14:52:03 -04:00
8445653213 [quartz] Restore setting QUARTZ_RELOCATION in meson build.
This seems to have gotten lost in the migration from autotools.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/4769
2022-03-18 11:13:34 -07:00
8ff9b2f83f 3.24.33 2022-03-04 21:53:36 -07:00
57fb729c0e 3.24.32 2022-03-03 21:42:12 -07:00
d3ffdd59f8 Add missing Windows libs for printing - win32. During cross-compiling 2022-02-26 17:24:30 +01:00
b5d0c44a87 Meson: Use gnome.post_install
Only available on Meson 0.57.0 and later
2022-01-14 17:30:35 +01:00
728f0e13a8 Merge branch 'fix_windows_build' into 'gtk-3-24'
Fix Windows build in gtk 3.24.31

See merge request GNOME/gtk!4292
2022-01-02 16:27:33 +00:00
6ba7c50a7a Add hid.lib to GDK .pc file 2022-01-02 16:11:03 +01:00
92a8e10789 meson: Make VS2022 builds distinct from VS2019
Make sure that we append the 'vs17' suffix to the DLL filenames rather than
appending 'vs16', so that VS2022 builds are distinct from the VS2019 ones.
2021-12-22 10:12:12 +08:00
208e115368 Revert "meson: simplify builtin_immodules build option"
This reverts commit 749a58ab26.

This maintains feature parity with the autotools build. To achieve the
equivalent of --with-included-immodules=wayland,
-Dbuiltin_immodules=wayland,waylandgtk can be used instead.
2021-12-21 14:36:16 +00:00
ab45bde94c 3.24.31 2021-12-20 23:01:49 -05:00
a1a2f8ab56 gdk/x11: Implement XI2.4 touchpad gesture support 2021-12-03 00:04:10 +02:00
6efcbf4634 Do not require wayland-protocols as dependency in the .pc file
Basically, I was building some packages on Guix. I figured out that
wayland-protocols was listed among propagated-inputs for gtk+ package
(gtk-3-24). propagated-inputs holds a list of runtime dependencies,
that should be available to any other package that depends on gtk+.
While discussing we clarified that wayland-protocols is not runtime
dependency. So I moved it to native-inputs of gtk+ package, which
means that, this dependency will be available only to gtk+ package and
only at build time. Once moved, building of other applications that
depening on gtk+ started to fail.

Investigation showed that, all .pc (pkg-config) files prepared by gtk+
package, was including:

Requires.private: ... wayland-protocols ...

Since it becomes requirement, other applications was failing with
missing dependency wayland-protocols of dependency gtk+, for instance:

-- Checking for module 'gtk+-3.0'
--   Package 'wayland-protocols', required by 'gdk-3.0', not found

While actually wayland-protocols is not even a build time dependency
of application that depends on gtk+. Advertisement of such
requirement, is a bit misleading, because one does not need it at
runtime, especially applications based on gtk.
2021-09-16 20:44:39 +03:00
d4e2d05cd9 3.24.30 2021-07-08 10:02:44 -04:00
77f32a69c0 3.24.29 2021-04-22 22:47:50 -04:00
23db350889 3.24.28 2021-03-26 21:54:29 -04:00
c7df3b9e97 3.24.27 2021-03-12 10:41:57 -05:00
953d35b225 3.24.26 2021-02-24 14:13:46 -05:00
5c6aa76979 3.24.25 2021-02-12 10:45:40 -05:00
91343251b9 gtk/fallback-c89.c: Add fallback for fmin()
fmin() is a function that is introduced with C99/C++11, so check for the
presence of it and provide a simple implementation for it if it does not
exist.

Also update the config.h.win32.in template accordingly, since this
function is provided on Visual Studio 2013 or later.
2020-12-23 12:52:19 +08:00
de8329b3ce 3.24.24 2020-12-05 19:49:26 -05:00
aeba990793 meson: Fix error when epoxy is a subproject on Windows
epoxy_dep cannot be used in a configure time check when it comes from a
subproject. Use variables set in pc file instead.

This requires https://github.com/anholt/libepoxy/pull/231.
2020-10-14 20:05:05 -04:00
7ee6fb2ec0 GtkPlug/Socket: add accessibility support
When a plug is embedded in a socket, we need to also plug the at-spi
tree, so that screen readers can find the at-spi content of the plugged
widgets.

This change does this plugging automatically: on the plug widget, an
additional _XEMBED_AT_SPI_PATH property is set to provide the at-spi path
(just like we have _XEMBED_INFO for other X11 information), and when
embedding it, the socket reads it, and makes it as its only child.

Since GtkPlugAccessible can not inherit both from AtkPlug (a child of
AtkObject) and from GtkContainerAccessible (a child of AtkObject), we
actually make GtkPlugAccessible a child of an AtkPlug, and that's what
will be embedded (in at-spi terms) into an AtkSocket.

Similarly, GtkSocketAccessible can not inherit both from AtkSocket and
GtkContainerAccessible, so we make it a parent of the AtkSocket that
embeds the AtkPlug.

This change depends on atk 2.35.1 which implements the at-spi technical
details.

This separates out atk-bridge-2.0 dependency, which is not part of atk,
but of at-spi2-atk.
2020-10-08 22:00:21 +02:00
df670047ea Implement ATK's scrollSubstringTo()
This implementation is based on gtk_text_view_scroll_to_iter() and
thus shares its limitations for the sake of simplicity.

A single offset is opportunistically picked to build the iterator
needed for gtk_text_view_scroll_to_iter().  That means that substrings
spanning over multiple lines or larger than the current window might
not be displayed optimally after scrolling.

Partially closes #1625, the toPoint() variant has been discarded.
2020-10-07 20:20:05 +02:00
5bd8f8c5a3 gdk/wayland: Add support for primary-selection-unstable-v1
Additionally to gtk_primary_selection, the gtk-private predecessor,
support the upstream unstable protocol.

This allows the primary selection to work on Kwin and potentially
other compositors, as well as dropping the private version eventually.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/2591
2020-09-27 13:40:40 +02:00
24f9cc76c0 build: clean up .pc generation
Path concatenation is much nicer than the unwieldy format method.
Since paths returned by get_option are relative to prefix, they will be joined as before.

As a bonus, this fixes weird platforms like NixOS that actually pass absolute includedir under a different prefix.
2020-09-20 13:16:34 -04:00
016e8c55ab 3.24.23 2020-09-03 18:04:35 -04:00
0d30d36326 3.24.22 2020-08-10 11:59:46 -04:00
55f46809de meson/MSVC builds: Use -utf-8 where available
This avoids the build from erroring out on C4819 (Unicode handling issue in
Visual Studio compiler), notably when running on Chinese, Japanese and
Korean locales.
2020-07-24 10:47:35 +08:00
245c67c8c9 meson.build: Fix generating .pc files for Visual Studio
On Visual Studio, Cairo could have been found manually by looking for the .lib
files, and the previous update to fix this was incorrect, as it added the
libraries to the required packages instead of the required libraries.  This
fixes this mishap
2020-07-14 14:14:26 +08:00
ab4b85f88c 3.24.21 2020-06-28 17:14:01 -04:00
c884308da3 [Quartz] Only normal toplevels should be in the Windows menu.
The Quartz Window Manager adds to the Windows menu all NSWindows with
titles. Since we assign a default title to all windows that produced a
rather cluttered Windows menu containing among other things dialogs.
Setting aside that dialogs don't belong in the Windows menu, if
a dialog was hidden for reuse instead of destroyed it would persist in
the Windows menu and if clicked there would show, but because it wasn't
running wouldn't respond to events and so couldn't be hidden again and
would remain on top of its parent window.

Ref: https://bugs.gnucash.org/show_bug.cgi?id=797807
2020-06-20 09:49:44 -07:00