Compare commits

...

1414 Commits

Author SHA1 Message Date
Nelson Benítez León
45519b47cb Fix crash inside widget_needs_widget_path()
Crash found at least in Nautilus and Gnome-calendar:
https://bugzilla.redhat.com/buglist.cgi?quicksearch=widget_needs_widget_path

Fixes #2457
2022-07-30 15:14:24 -04:00
Nart Tlisha
56314b46ea Update Abkhazian translation 2022-07-28 19:16:33 +00:00
Quentin PAGÈS
d71549942b Update Occitan translation 2022-07-26 19:24:15 +00:00
Nart Tlisha
974f3141cd Add Abkhazian translation 2022-07-26 11:14:42 +00:00
Zurab Kargareteli
9d3addf2aa Update Georgian translation 2022-07-25 07:41:00 +00:00
Quentin PAGÈS
f5b78522a1 Update Occitan translation 2022-07-22 22:23:11 +00:00
Matthias Clasen
75906cb8c3 Merge branch 'buffer-func-annotation' into 'gtk-3-24'
Fix annotation of serialize and deserialize function

See merge request GNOME/gtk!4893
2022-07-22 12:41:46 +00:00
Cédric Krier
31490df2b1 Remove annotation for GError 2022-07-20 09:52:40 +02:00
Cédric Krier
3d406fc446 Fix annotation of serialize and deserialize function 2022-07-20 00:02:42 +02:00
Matthias Clasen
8bbc24c165 Merge branch 'wip/swilmet/improve-style-context-docs' into 'gtk-3-24'
docs: improve doc of gtk_style_context_get()

See merge request GNOME/gtk!4867
2022-07-13 15:48:25 +00:00
Sébastien Wilmet
fea466c13c docs: improve doc of gtk_style_context_get()
When using this function in GtkSourceView (for GTK 3), there was a
mistake for retrieving a GdkRGBA value.

So, better document the function to avoid further mistakes.
2022-07-13 17:12:42 +02:00
Danial Behzadi
5c02deb893 Update Persian translation 2022-07-09 02:10:39 +04:30
John Ralls
09dd73feeb [quartz] Remove extra reference on layer's cairo_surface. 2022-06-30 15:27:03 -07:00
John Ralls
f48bed22db [quartz] shouldInheritContentsScale from 10.7+ instead of 10.14+. 2022-06-30 15:25:50 -07:00
Matthias Clasen
739aaa7add Merge branch 'gtk-3-24' into 'gtk-3-24'
gtkmodifierstyle.c: Release symbolic color memory

See merge request GNOME/gtk!4830
2022-06-24 19:28:14 +00:00
Xu Shaohua
13174cd70d gtkmodifierstyle.c: Release symbolic color memory 2022-06-24 10:05:07 +08:00
Matthias Clasen
ab68cee090 Merge branch 'symbolic-hc-3' into 'gtk-3-24'
Wayland/screen: Don't force HighContrast icon theme

See merge request GNOME/gtk!4803
2022-06-23 18:19:00 +00:00
Florian Müllner
b19269c9c1 wayland/screen: Don't force HighContrast icon theme
The theme is considered deprecated in favor of symbolic icons from
the regular theme.
2022-06-23 15:49:03 +02:00
Matthias Clasen
f08173c5cf Merge branch 'matthiasc/gtk-bump-fedora' into 'gtk-3-24'
ci: Bump Fedora base image

See merge request GNOME/gtk!4826
2022-06-23 13:39:22 +00:00
Matthias Clasen
26ef6917c8 Merge branch 'bad-popup-extents-gtk3' into 'gtk-3-24'
[gtk3] [x11] Fix coordinate space of rect in gdk_x11_window_get_frame_extents when called on popups.

See merge request GNOME/gtk!4821
2022-06-23 12:00:11 +00:00
Matthias Clasen
f5890c9151 Keep version numbers sequential
Our ci image versions don't correspond to Fedora
release numbers. Changing that just for one branch
would be more confusing than helpful, I think.
2022-06-23 07:44:39 -04:00
John Ralls
56d9dc95d9 [quartz] Fix build on macOS versions before 10.14.
shouldInheritContentScale was introduced in 10.14.
2022-06-20 17:15:49 -07:00
Emilio Cobos Álvarez
c43e3c4339 [gtk3] [x11] Fix coordinate space of rect in gdk_x11_window_get_frame_extents when called on popups.
This is the same fix as !4820, but applied to the gtk 3 branch.
2022-06-20 10:43:06 +02:00
Matthias Clasen
a108de6f61 Merge branch 'gtk3-adwaita-maximized-ssd-no-border' into 'gtk-3-24'
Adwaita: Hide SSD box-shadow border on maximized windows

See merge request GNOME/gtk!4819
2022-06-19 17:05:07 +00:00
Sebastian Keller
4873f63c07 Adwaita: Hide SSD box-shadow border on maximized windows
The 1px shadow was showing up on adjacent monitors when a SSD window was
maximized. Additionally this was causing mutter to skip direct scanout
of these windows, because they extend beyond the screen.

Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2304
2022-06-19 16:24:59 +02:00
Florian Müllner
fa8135d58a ci: Bump Fedora base image
F31 is EOL and no longer satisfies our ATK dependency. Bump it to
F35 to get gtk3's CI into a working state again.
2022-06-17 19:31:16 +02:00
Luca Bacci
04fe1c8e4e Merge branch 'gdk-win32-gtk-overlay-scrolling-gtk3' into 'gtk-3-24'
GdkWin32: Add code for gtk-overlay-scrolling setting

See merge request GNOME/gtk!4817
2022-06-17 09:49:39 +00:00
Luca Bacci
b121fe8d51 GdkWin32: Add code for gtk-overlay-scrolling setting
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4899
2022-06-17 11:04:54 +02:00
Chun-wei Fan
65f3fb7d89 Merge branch 'msvc-proj-more-data' into 'gtk-3-24'
Visual Studio projects: Make installed data files better match the autotools/Meson builds

See merge request GNOME/gtk!4814
2022-06-16 11:39:23 +00:00
Chun-wei Fan
4af19d4350 Visual Studio builds: Add optional rules to generate translations
Add a target in the install-msvc.mak file that enables one to generate
the translations (.mo) files using msgfmt from the .po catalog files.

Add an entry in config-msvc.mak[.in] so that one can use it to configure
a custom location for the msgfmt.exe program, since it is harder to
install with Visual Studio, so that one can use a prebuilt copy from
Cygwin or MSYS2, for instance.
2022-06-16 18:42:16 +08:00
Chun-wei Fan
52d01d63db MSVC projects: Generate and install Emoji GResource data
Generate the full GResource XML files for the Emoji data, and generate
the binary GResource data from them and copy them as appropriate.

At this point, the installed data files are in-line with what the Meson
builds install, sans the processed translation files.
2022-06-16 17:42:42 +08:00
Chun-wei Fan
857da46098 MSVC projects: Also copy the build auxiliary files
This does what the Meson build files also do, so that people can have
the m4 module, the ITS files as RelaxNG files if they choose to use them
anyways.
2022-06-16 17:42:42 +08:00
Chun-wei Fan
a4f685c2db MSVC projects: Also "install" the gtk3-demo symbolic icon
Follows what is done in the Meson/autotools builds.
2022-06-16 17:42:42 +08:00
Jordi Mas
29386e22bf Update Catalan translation 2022-06-14 19:45:46 +02:00
John Ralls
a2c54c739e [quartz] Ensure valid GdkWindowImplQuartz references.
In case of an offscreen window find its onscreen embedder, and NULL
any GdkWindowImpl that's not quartz, checking all return values.

This replaces 16ded683, removing its unnecessary search_for_nearest
functions.

Any unchecked cast of a GdkWindowImpl to GdkWindowImplQuartz risks at
least getting an invalid member reference, not just the ones in
gdk_quartz_window_get_foo, and all calls to gdk_quartz_window_get_foo need
to be checked, not just Gtk's internal calls. The motivation was that
transient_for was getting set on a Gimp offscreen window and that caused a
crash in raise_transient.
2022-06-09 13:22:59 -07:00
John Ralls
749c863073 [quartz] Ensure GdkWindowQuartz members are either valid or NULL. 2022-06-09 13:22:59 -07:00
John Ralls
a5ad547b8b [quartz] ensure that the copy region is fully enclosed by the drawn surface. 2022-06-09 13:22:59 -07:00
John Ralls
8d4c4cdca4 [quartz] Handle scale changes using NSView::shouldInheritContentsScale.
Includes creating the CVPixelBuffer to supply the layer contents when
creating the cairo_image_surface, which reduces the number of them created
at the wrong scale.
2022-06-09 13:22:59 -07:00
Zurab Kargareteli
b6c76028d6 Update Georgian translation 2022-06-05 17:13:20 +00:00
Chun-wei Fan
73ba8ce128 Merge branch 'msvcproj-demos' into 'gtk-3-24'
Visual Studio projects: Improve demos build process

See merge request GNOME/gtk!4781
2022-05-31 09:00:44 +00:00
Chun-wei Fan
b9a3d3ef05 MSVC Projects: Build widget factory demo
Build the widget factory demo in the Visual Studio projects, and install
the icon files that it needs.
2022-05-31 15:32:44 +08:00
Chun-wei Fan
e7efafcae7 MSVC Projects: Generate widget factory GResource sources
Add rules in the helper NMake Makefiles to generate the GResource
sources for gtk3-widget-factory.  This prepares for us to add project
files to build that demo program.
2022-05-31 15:32:31 +08:00
Chun-wei Fan
3c3b7e183a build: Don't generate icon browser MSVC project
The source listing is not likely to change for this one, so clean up the
build files a bit, and make the gtk3-icon-browser MSVC project a
complete one instead of a template.
2022-05-31 15:32:13 +08:00
Chun-wei Fan
67a3208d58 build: Do not generate gtk3-demo-application MSVC project
Clean up build files a bit, as there is not much point using a
'dist-hook' to generate the Visual Studio project file for this program.
2022-05-31 15:32:13 +08:00
Chun-wei Fan
6f7e3cb3f6 MSVC projects: Generate demo sources in IntDir
This is to reduce the pollution in the souce directories.  Update the
include paths accordingly.
2022-05-31 15:32:13 +08:00
Chun-wei Fan
b58ba13a9e win32/generate-msvc.mak: Split up rule to regenerate demos.h.win32
This way, we can re-use items when we want to support generating project
files from the templates, such as building with project files directly
from a GIT checkout, or when we add sources and want to quickly add them
into the project files.
2022-05-31 15:32:13 +08:00
Chun-wei Fan
3292e9d67b MSVC Projects: Rename Makefile variable
Use VS1X instead of VS10 in the variable names in the NMake Makefiles,
since the VS2010 MSBuild Visual Studio project files really apply to all Visual
Studio versions at or after VS2010.

Also use variable substitution here to ease future maintenance.
2022-05-31 15:32:13 +08:00
Chun-wei Fan
c8db9e1690 Merge branch 'msvcproj-nmake-robust' into 'gtk-3-24'
MSVC projects: Make helper NMake Makefiles more robust and faster

See merge request GNOME/gtk!4780
2022-05-31 07:28:16 +00:00
Chun-wei Fan
8d4c2708a0 Visual Studio projects: Speed up build
...for the sources and header generating phase, so that we can reduce
the number of times that we generate the source file lists that we need.
2022-05-31 14:56:31 +08:00
Chun-wei Fan
1f5bfb40ff Merge branch 'msvcproj-py3-req' into 'gtk-3-24'
Visual Studio projects: Make it clear that Python 3.x is now recommended

See merge request GNOME/gtk!4779
2022-05-31 06:28:43 +00:00
Chun-wei Fan
896a420da4 README.win32: Mention the possibility of using Python-2.7.x
It is probably still possible with older GLib and GObject-Introspection
versions, but it is certainly not recommended with the advent of Meson.

One will not be able to re-generate demos.h.win32 (for
enabling/disabling the Font Features Demo) with Python 2.7.x-Python 3.x
or PERL must be used.
2022-05-31 14:13:23 +08:00
Chun-wei Fan
86270ec423 MSVC projects: Make helper NMake Makefiles more robust
Append the detected Visual Studio version and target arch to the various
NMake Makefile snippets we generate on the fly, so that if multiple
items access the helper NMake Makefiles at the same time, we will be
much less prone to trouble.

This is not 100% fool-proof, but should make things much more robust when
attempting to build via different Visual Studio versions and configs at
the same time.
2022-05-31 10:46:36 +08:00
Chun-wei Fan
a61ed05e32 Visual Studio projects: Make it clear Python 3.x is now required
The scripts that are used during the build to generate the sources now
do require Python 3.x to work, so make this clear to people.

In the Visual Studio projects, update the default Python installation to
correspond with Python 3.7.x or later, which is the lowest supported
version series of Python at this point.
2022-05-31 10:46:10 +08:00
Matthias Clasen
2152e76ec4 Merge branch 'gtk-3-24-fix-gimp' into 'gtk-3-24'
macos: Fix to offscreen window selections in Gimp 2.99

See merge request GNOME/gtk!4305
2022-05-27 21:26:51 +00:00
Lukas Oberhuber
16ded6835c macos: Fix to offscreen window selections in Gimp 2.99 2022-05-27 21:26:50 +00:00
Matthias Clasen
75d3095a6b Merge branch 'wayland-cursor-size' into 'gtk-3-24'
wayland/cursor: Sanity check cursor image size

See merge request GNOME/gtk!4381
2022-05-27 11:02:22 +00:00
Emmanuele Bassi
1cf58407be Merge branch 'dont-dist-gresource-srcs' into 'gtk-3-24'
Don't dist some generated sources

See merge request GNOME/gtk!4738
2022-05-25 13:22:23 +00:00
Luca Bacci
02b40fd64d Merge branch 'msvcproj-nmake-install' into 'gtk-3-24'
Cleanup Visual Studio project files a bit

See merge request GNOME/gtk!4734
2022-05-25 08:23:58 +00:00
Matthias Clasen
eb4d736a4d Merge branch 'quartz-redraw-pixbuf' into 'gtk-3-24'
quartz: Use CALayer to back GdkQuartzView

See merge request GNOME/gtk!4728
2022-05-21 13:15:21 +00:00
John Ralls
b94ed34f9c [quartz] Manage implementation surface lifetime.
To prevent leaking cairo surfaces while persisting the parts that
don't need to be redrawn.
2022-05-19 17:02:55 -07:00
John Ralls
df94d0168d Use a CVPixelBuffer instead of a CGImage. 2022-05-19 16:58:39 -07:00
John Ralls
be60902805 Draw window to image_surface and apply to CALayer. 2022-05-19 16:52:59 -07:00
John Ralls
2d3eb0c6a7 [quartz] Draw needs_display_region if available 2022-05-19 16:46:35 -07:00
John Ralls
8182c978db quartz: add CVDisplayLink based frame clock
This uses CVDisplayLink to drive the GdkFrameClock. A GdkWindow
can register a frame callback to thaw their frame clock as necessary
based on the next notification from CVDisplayLink.

CVDisplayLink notifies us on a high-priority thread. We use the same
NSEventas gdkeventloop-quartz.c to wakeup the main loop. This is done
so that we don’t pathologically wake up the select thread to then
continue notifying the main loop.

We use an embedded GList node in the GdkWindowImplQuartz so that we
can avoid allocating any lists or arrays for pending frame callbacks.
Compare this to the same design in GdkWindow for children.
2022-05-19 16:29:01 -07:00
Chun-wei Fan
ff847c43ad Drop win32/Makefile.msvc-introspection
We no longer use the autotools 'dist-hook' to generate the items that we
need to build introspection with the Visual Studio projects, so drop the
autotools files and bits that we had to support this.  So, for
introspection on Visual Studio via the project files, it is purely via
NMake at this point.
2022-05-19 11:33:25 +08:00
Chun-wei Fan
fe548537f9 build: Write introspection rules directly in NMake Makefiles
By doing so, we can drop the autotools rules that we use to generate the
file lists and rules for building introspection via NMake Makefiles for
Visual Studio builds via the project files.
2022-05-19 11:22:12 +08:00
Chun-wei Fan
c05d21c9af gtk: Build: Prefix deprecated source listings
...with gtk_, so that they are distinguished from other names and is
more clear to people.
2022-05-19 10:58:01 +08:00
Chun-wei Fan
574bd57f72 gtk-sources.inc: Split base sources in two parts
Otherwise, NMake will choke when creating a filelist from it.  This
U1095 error is nasty! :|
2022-05-19 10:58:01 +08:00
Chun-wei Fan
7c2e4fa3b2 gdk: Move source listings to gdk-sources.inc
We want to share those listings with other non-autools build systems.
2022-05-19 10:57:55 +08:00
Chun-wei Fan
f324c650a7 gdk/: Rename gdk-pub-headers.h to gdk-sources.inc
We want to make the sources listings for libgdk shared as well.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
6e193eb141 win32/vs10/*.vcxproj: Consolidate project configs
Like what was done in the *.vcxprojin templates, consolidate project configs
that are repetitive, and use the 'Condition=' directive to distinguish between
configuration and/or target platform differences.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
3bd1ed8c31 win32/vs10/*.vcxprojin: Consolidate project configs
We can use MSBuild "Condition" items to consolidate the configs, so that we can
clean up the project files a bit.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
4c2cd5910f Visual Studio projects: Make property sheets shared
...for Visual Studio 2010 and later, since we used to copy them and
merely update the value of $(VSVer) during 'make dist' as needed.

Instead of doing that, move the property sheets for Visual Studio 2010,
which is the base version that we use, into a directory of its own, and
make the Visual Studio 2010~2022 projects look for them in that
directory, and set VSVer according to the toolset version identified by
each of the project files.

The ARM64-specific property sheet needed for VS2017 and the VS2008
property sheets will remain as they are.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
ac25eeb34a Visual Studio projects: Drop another property sheet
We can again use MSBuild trickery to do what was done in the dropped
property sheet.

Unfortunately, like the last commit, I couldn't figure out a way do to
something similar in the VS2008 project files... :|
2022-05-19 09:41:48 +08:00
Chun-wei Fan
c50cd6f95c Visual Studio projects: Drop unneeded property sheet
We can use MSBuild trickery to do what the property sheet intends to
cover
2022-05-19 09:41:48 +08:00
Chun-wei Fan
f4811ea1f1 build: Drop gtk3-install.[vsprops|props]
They are not used anymore, and are removed at this point.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
455686a57f Visual Studio Projects: Use NMake Makefile to copy build results
... and so stop using gtk3-install.[vsprops|props], and remove that
property sheet from the dist and dist the NMake Makefile for the
purpose.

Also remove win32/vs10/gtk3-install.vcxproj.filters as well, as it is
no longer needed.

We will remove the gtk3-install.[vsprops|[props][.in] in a subsequent
commit.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
3b5b8bbebe win32/: Add install-msvc.mak
This is an NMake Makefile that will replace the property sheets in the
Visual Studio project files so that we can call it from the project
files to "install" the binaries and introspection files that were built,
along with the header files and other data files, which aims to be
easier to maintain for the current approach.

This will also be expanded upon to optionally build the translation
files and make the installed files more in-line with what are done in
the Meson build files, where there could be compatibility problems with
older Visual Studio toolchains.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
331090c148 win32/create-lists-msvc.mak: Pull in the newly-split source listings
We are going to use them to help us to use an NMake Makefile to copy the
built files and headers in our "install" directory.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
8477c0e765 win32/create-lists-msvc.mak: Clean up a bit
We now have the theme CSS source listings in gtk/gtk-sources.inc, so
make use of it.  No need to repeat items from there.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
ea3b599d7f libgail-util: Split out sources listings
We want to share the listings with other non-autotools build systems.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
aa83f9fb42 gtk/Makefile.am: Split out more items
... to gtk-sources.inc, since we will want to share the items in the lists that
were split out.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
e21a578cb1 gtk: Rename gtk-mkenums-headers.mak to gtk-sources.inc
We want to reuse more sources listings in other non-autotools build
systems.
2022-05-19 09:41:48 +08:00
Chun-wei Fan
def4b6c95f gdk/broadway: Split out sources listing
This way, we can reuse these lists in other non-autotools Makefile-based
build systems.
2022-05-19 09:41:47 +08:00
Chun-wei Fan
cb494e0ad8 gdk/win32: Split out sources listing
This way, we can reuse this list in other non-autotools Makefile-based
build systems.
2022-05-19 09:41:47 +08:00
Matthias Clasen
4e3a3f0553 3.24.34 2022-05-18 14:52:03 -04:00
Chun-wei Fan
0264e2d6a6 demos: Fix distcheck
Make sure that we remove the files generated by glib-compile-resources
during distclean.
2022-05-18 17:48:16 +08:00
Chun-wei Fan
bac9ff22f5 gtk/Makefile.am: Fix distcheck
Apparently distcheck expects the generated gtk.gresource.xml to be
there.
2022-05-18 15:32:21 +08:00
Chun-wei Fan
dc9d60fc9a win32: Update Visual Studio projects
This is a follow-up commit so that the generated GResources sources for
the demos are included in the project files.

As a result, don't include demo_resources.c when regenerating
gtk3-demo.vc[x]proj for toggling on or off the font features demo, as it
would have been there.
2022-05-17 23:50:24 +08:00
Chun-wei Fan
472c40fd3f demos: Don't dist the generated GResource sources
The Visual Studio projects have support for generating these, especially
that the encoded string that result from them may become too big for the
Visual Studio compiler to handle (such as for gtk3-demo) and we are normally
supposed to generate the GResources sources for all builds, as the
generated code depends on the compiler being used).
2022-05-17 18:44:58 +08:00
Chun-wei Fan
39940e0892 gtk/: Don't distribute the generated sources
We already generate some of the sources for all builds, so extend this
to the other generated sources as well, since the Visual Studio projects
added support for generating these sources too.
2022-05-17 18:43:36 +08:00
Chun-wei Fan
abbf7a3497 gdk/: Don't distribute the built sources
The Visual Studio projects have support for generating these items, so
we don't really need to distribute them with the sources.
2022-05-17 18:42:37 +08:00
John Ralls
3c721c5a80 quartz: drop beam sync penalty code
Now that we have a frame clock in place, we should be able to drop
the beam-sync penalty prevention code as we should be aligning our
draws with CVDisplayLink.
Originally by Christian Hergert <chergert@redhat.com>, flushWindow
corrections and improvements by John Ralls.
2022-05-05 16:19:02 -07:00
Christian Hergert
0c439e4b83 quartz: squash compiler warning about enums
We don’t care about the other enums, fine to squash the warning.
2022-05-05 16:08:54 -07:00
John Ralls
b72e4437a2 quartz: Clean up two macOS deprecation warnings. 2022-05-05 16:07:47 -07:00
John Ralls
acc1eb917b Quartz: Don't crash trying to release a NULL CGContext. 2022-05-05 16:04:42 -07:00
Matthias Clasen
01edbfb976 Merge branch '3-24-build-with-array-bounds' into 'gtk-3-24'
gtkimagedefinition: Check array bounds

See merge request GNOME/gtk!4677
2022-05-03 17:47:43 +00:00
Matthias Clasen
75beff2e13 Merge branch 'wip/carlosg/im-wayland-backports-3.24' into 'gtk-3-24'
gtk/imwayland: Use serial to control outbound messages

See merge request GNOME/gtk!4682
2022-05-03 16:36:10 +00:00
Matthias Clasen
3e4c9b1f04 Merge branch 'wip/another-randr-error-trap' into 'gtk-3-24'
[3.24] x11: Trap errors happening when getting output properties

See merge request GNOME/gtk!4680
2022-05-03 00:46:32 +00:00
Carlos Garnacho
5321fa25a5 imcontextwayland: Ignore preedit updates from NULL to NULL
If we get consecutive preedit string updates that announce a NULL
string, we still do end up issuing ::preedit-changed with those.
Ignore changes from NULL to NULL, it is the other combinations which
must issue this signal.
2022-05-02 23:34:09 +02:00
Carlos Garnacho
49b6410c26 imwayland: Do not defer commit() after set_surrounding_text()
For reasons that only apply to the old serial handling, asking for
the surrounding after IM changes resulted in lazy handling of
commit() afterwards.

With the recent interpretation of serials, this problem became more
apparent, since it is in fact very likely that the last interaction
step after an IM change is notifying of the changed surrounding
text after the IM change was applied.

Make handling of surrounding text similar to caret position changes,
always commit() after the state change, but skip through non-changes.

This makes the compositor state fully up-to-date after an IM change.

(cherry-picked from commit eb7c78aa48)
2022-05-02 23:34:09 +02:00
Carlos Garnacho
802a748e5b gtk/imwayland: Use serial to control outbound messages
Following the text-input protocol changes at
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/115,
use the serial number to have the client push changes to the
zwp_text_input_v3 object only after compositor/client states match.

This specifically is more lenient to compositors pushing multiple
.done events ahead of the client replying to them.

(cherry-picked from commit f108f053d4)

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4853
2022-05-02 23:33:37 +02:00
Jonas Ådahl
9addb14a83 x11: Trap errors happening when getting output properties
This is to avoid getting X11 errors (thus aborting/exiting with a
failure) during rapid hotplugs, which may happen during e.g. CI testing.
2022-05-02 16:49:23 +02:00
Peter Bloomfield
54d319bc32 gtkimagedefinition: Extend commit b38266c0
Similarly, uses casts in `gtk_image_definition_unref()`. Compilation
succeeds without them, unlike in `gtk_image_definition_ref()`, because
`gtk_image_definition_unref()` is not called internally, unlike
`gtk_image_definition_ref()`. But the build would fail if some function
defined in the module were changed in the future to call
`gtk_image_definition_unref()`, and we can future-proof it now. This
also removes an inconsistency in how we access the members of the union.
2022-04-30 13:09:04 -04:00
Peter Bloomfield
a5d208adaf gtkimagedefinition: Check array bounds
`jhbuild build gtk+-3` with GCC 12 fails with:
```
In function ‘gtk_image_definition_ref’,
    inlined from ‘gtk_image_definition_new_empty’
    at ../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:107:10:
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:241:13: error:
    array subscript ‘GtkImageDefinition {aka union _GtkImageDefinition}[0]’
    is partly outside array bounds of ‘GtkImageDefinitionEmpty[1]’
    {aka ‘struct _GtkImageDefinitionEmpty[1]’} [-Werror=array-bounds]
  241 |   def->empty.ref_count++;
      |   ~~~~~~~~~~^~~~~~~~~~
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:
    In function ‘gtk_image_definition_new_empty’:
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:105:34: note:
object ‘empty’ of size 8
  105 |   static GtkImageDefinitionEmpty empty = { GTK_IMAGE_EMPTY, 1 };
      |                                  ^~~~~
```
and many similar errors.

Fix it by casting `GtkImageDefinition` to `GtkImageDefinitionEmpty` or
similar, as appropriate.

Essentially backports 4dcd02e853 from main to gtk-3-24.
2022-04-30 13:08:32 -04:00
Charles Monzat
a47f81804d Update French translation 2022-04-08 09:19:43 +00:00
Charles Monzat
f52ceba88c Update French translation 2022-04-08 09:15:30 +00:00
Matthias Clasen
5ce7a4ab00 Merge branch 'mcatanzaro/set-current-folder-file' into 'gtk-3-24'
gtkfilechooser: add missing nullable annotation

See merge request GNOME/gtk!4610
2022-04-02 19:56:11 +00:00
Michael Catanzaro
56ada2f01f gtkfilechooser: add missing nullable annotation 2022-04-01 13:14:00 -05:00
Anders Jonsson
21eb3b2a6c Update Swedish translation 2022-03-27 09:57:22 +00:00
Nathan Follens
42e4c7f058 Update Dutch translation 2022-03-25 11:01:14 +00:00
Rūdolfs Mazurs
7c6a55c686 Update Latvian translation 2022-03-24 20:18:44 +00:00
Cheng-Chia Tseng
9accec627f Update Chinese (Taiwan) translation 2022-03-22 14:30:27 +00:00
John Ralls
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
Kjartan Maraas
ce02673b8b Update Norwegian Bokmål translation 2022-03-15 15:15:02 +00:00
Milo Casagrande
90a856a31f Update Italian translation 2022-03-14 14:46:06 +00:00
Christian Kirbach
b833a05583 Update German translation 2022-03-14 01:08:30 +00:00
Baurzhan Muftakhidinov
e003d4c506 Update Kazakh translation 2022-03-12 11:59:29 +00:00
Matthias Clasen
9d1d2f0a66 Merge branch 'wip/jimmac/legacy-icons-gtk3' into 'gtk-3-24'
icons: add legacy icons

See merge request GNOME/gtk!4562
2022-03-11 18:41:44 +00:00
Jakub Steiner
5a0ffbbb45 icons: add legacy icons
- add legacy hicolor icons relied on in testsuite

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4754
2022-03-11 19:16:28 +01:00
Balázs Úr
6ebbdaddaf Update Hungarian translation 2022-03-11 01:16:17 +00:00
Christian Kirbach
044beca50b Update German translation 2022-03-08 21:03:01 +00:00
Ask Hjorth Larsen
166ec3f10b Updated Danish translation 2022-03-08 20:54:36 +01:00
Aurimas Černius
adf486c26e Updated Lithuanian translation 2022-03-07 18:04:28 +02:00
Matthias Clasen
8ff9b2f83f 3.24.33 2022-03-04 21:53:36 -07:00
Matthias Clasen
57fb729c0e 3.24.32 2022-03-03 21:42:12 -07:00
Changwoo Ryu
af22c3beae Update Korean translation 2022-03-03 12:42:48 +00:00
Luca Bacci
7644d7da27 Merge branch 'fix_missing_printer_libs_win32' into 'gtk-3-24'
Add missing Windows libs for printing during cross-compiling (GTK3)

See merge request GNOME/gtk!4526
2022-03-03 08:52:02 +00:00
Мирослав Николић
3a6dfa6808 Update Serbian translation 2022-03-03 04:23:19 +00:00
Goran Vidović
90ceb6fecc Update Croatian translation 2022-03-01 12:41:57 +00:00
Luca Bacci
a17a0c5452 Merge branch 'fix_dllMain_win32' into 'gtk-3-24'
Fix dllMain win32

See merge request GNOME/gtk!4524
2022-03-01 06:03:37 +00:00
Melroy van den Berg
d13e05be93 Fix dllMain win32 2022-03-01 06:03:36 +00:00
John Ralls
07d847d174 [quartz] Fix use-before-init.
Thanks to Lukas Oberhuber for the patch.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4726
2022-02-28 10:05:47 -08:00
Luca Bacci
c94837759e Merge branch 'win32-fix-4724-gtk3' into 'gtk-3-24'
gdkkeys-win32: Only perform substitution as last-resort [GTK3]

See merge request GNOME/gtk!4530
2022-02-28 08:44:44 +00:00
Philip Zander
b85e60524f gdkkeys-win32: Only perform substitution as last-resort
Instead of performing keyboard layout substitution whenever we find a matching
entry in the registry, first try to load the original layout and only attempt
substitution when that fails.

See #4724
2022-02-27 16:32:59 +01:00
Asier Sarasua Garmendia
f2f04ddd17 Update Basque translation 2022-02-27 08:04:17 +00:00
Melroy van den Berg
d3ffdd59f8 Add missing Windows libs for printing - win32. During cross-compiling 2022-02-26 17:24:30 +01:00
Luca Bacci
cf6627e11f Merge branch 'gdk-win32-fix-issue-1402' into 'gtk-3-24'
Fix last error reporting when calling GetClipboardOwner

See merge request GNOME/gtk!4520
2022-02-25 16:50:59 +00:00
Luca Bacci
f19897e71f Fix last error reporting when calling GetClipboardOwner
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1402
2022-02-25 17:02:26 +01:00
Luming Zh
a238488966 Update Chinese (China) translation 2022-02-25 00:08:34 +00:00
Fran Dieguez
e13ebcd7b3 Update Galician translation 2022-02-24 12:55:37 +00:00
Daniel Mustieles
d72f3e9ec9 Updated Spanish translation 2022-02-24 12:53:52 +01:00
Yosef Or Boczko
3ae4467297 Update Hebrew translation 2022-02-22 20:50:54 +00:00
Matthias Clasen
0eec64aacc Merge branch 'fix_derefence_fault_gdk_x11_device_xi2_window_at_position' into 'gtk-3-24'
fix(dereference NULL ptr): Also tests "impl" in gdk_x11_device_xi2_window_at_position

See merge request GNOME/gtk!4408
2022-02-22 19:43:54 +00:00
Emmanuele Bassi
887c9dea94 Merge branch 'meson-use-gnome-post-install' into 'gtk-3-24'
Meson: Use gnome.post_install

See merge request GNOME/gtk!4379
2022-02-22 10:08:16 +00:00
Matej Urbančič
d6e544bc02 Update Slovenian translation 2022-02-21 19:59:33 +00:00
Luca Bacci
a4e482437f Merge branch 'gdk-win32-fix-ime-popup-position' into 'gtk-3-24'
Win32 IME: Use CFS_EXCLUDE to specify cursor position

See merge request GNOME/gtk!4497
2022-02-21 13:36:21 +00:00
Marek Černocký
186a85bdaa Updated Czech translation 2022-02-21 10:46:34 +01:00
Kukuh Syafaat
7abb4c6e01 Update Indonesian translation 2022-02-21 06:53:27 +00:00
Emin Tufan Çetin
1038e679fb Update Turkish translation 2022-02-20 15:02:09 +00:00
Piotr Drąg
9e668be546 Update Polish translation 2022-02-20 13:56:31 +01:00
Danial Behzadi
2196ee9867 Update Persian translation 2022-02-20 11:17:07 +00:00
Carlos Garnacho
ed08a4e929 Win32 IME: Use CFS_EXCLUDE to specify cursor position
That mode of operation requires an exclude rectangle, which maps
better to the info provided on gtk_im_context_set_cursor_location(),
coincidentally also fixes the offset seen on the IME preedit window.

https://gitlab.gnome.org/GNOME/gtk/-/issues/374
https://bugzilla.gnome.org/show_bug.cgi?id=663096
2022-02-19 18:42:07 +01:00
Daniel Șerbănescu
45d265c851 Update Romanian translation 2022-02-19 13:38:52 +00:00
Claude Paroz
a2e44d343e Updated French translation 2022-02-19 11:31:50 +01:00
Thibaud CANALE
0081dfc51d fix(dereference NULL ptr): Also tests "impl" in gdk_x11_device_xi2_window_at_position
Signed-off-by: Thibaud CANALE <thican@thican.net>
2022-02-18 21:10:41 +01:00
Aleksandr Melman
b064bbd1e0 Update Russian translation 2022-02-18 19:34:13 +00:00
Jordi Mas
155bb07a4e Update Catalan translation 2022-02-18 07:33:17 +01:00
Rafael Fontenelle
b10db12e49 Update Brazilian Portuguese translation 2022-02-18 00:05:36 +00:00
Anders Jonsson
1de15f8f38 Update Swedish translation 2022-02-17 22:10:05 +00:00
Hugo Carvalho
bd2ae42d57 Update Portuguese translation 2022-02-17 21:28:19 +00:00
Yuri Chornoivan
d75793b5af Update Ukrainian translation 2022-02-17 15:38:44 +00:00
Matthias Clasen
89b20b63cd Merge branch 'wip/hadess/app-id-inspector' into 'gtk-3-24'
inspector: Show app ID and resource path in the General tab

See merge request GNOME/gtk!4492
2022-02-17 13:37:23 +00:00
Bastien Nocera
5c92e6ddc6 inspector: Show app ID and resource path in the General tab
This makes it easier to figure out those values (which are mentioned in
the GtkApplication documentation) rather than working that out from the
way they're generated (or documented as being generated).
2022-02-17 12:27:19 +01:00
Luca Bacci
7394f6c720 Merge branch 'fix-issue-3690' into 'gtk-3-24'
Fix gdk_win32_window_get_frame_extents

See merge request GNOME/gtk!4478
2022-02-14 20:22:10 +00:00
Luca Bacci
4a8d96b95b GdkWin32: Fix gdk_win32_window_get_frame_extents
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4690
2022-02-14 16:16:47 +01:00
Emmanuele Bassi
160ef56de4 Merge branch 'fix-cell-accessible-leak' into 'gtk-3-24'
Fix a leak of cell accessibles

See merge request GNOME/gtk!4471
2022-02-12 00:56:20 +00:00
Matthias Clasen
cc977be580 Fix a leak of cell accessibles
gtk_container_cell_accessible_add_child is transfer none,
so we need to drop the reference we hold, otherwise it
leaks.
2022-02-11 18:39:55 -05:00
Luca Bacci
e6a028bfca Merge branch 'win32-fix-ctrl-shift' into 'gtk-3-24'
gdkkeys-win32: Also ignore Ctrl + Shift (etc.)

See merge request GNOME/gtk!4456
2022-02-08 22:40:37 +00:00
Philip Zander
a40f9261e9 gdkkeys-win32: Also ignore Ctrl + Shift (etc.)
Some Windows keymaps have bogus mappings for the Ctrl modifier. !4423 attempted
to fix this by ignoring the Ctrl layer, but that was not enough. We also need to
ignore combinations of Ctrl with other modifiers, i.e. Ctrl + Shift. For example,
Ctrl + Shift + 6 is mapped to the character 0x1E on a US keyboard (but it should
be treated as Ctrl + ^). Basically, always ignore Ctrl unless it is used in
conjunction with Alt, i.e. as part of AltGr.

Related issue: #4667
2022-02-08 20:44:35 +01:00
Matthias Clasen
38a1a23a53 Merge branch '3-24-30-api-additions-since-marker' into 'gtk-3-24'
Add `Since` markers for new API between 3.24.11 and 3.24.30

See merge request GNOME/gtk!4425
2022-02-08 00:15:10 +00:00
Matthias Clasen
5cdb9548d9 Merge branch 'tiled-border-fix-3-24' into 'gtk-3-24'
theme: Fix incorrect border color for tiled windows for 3.24

See merge request GNOME/gtk!4437
2022-02-08 00:13:27 +00:00
Matthias Clasen
08f47e0b01 Merge branch 'gtkcellrendererprogress-tabular' into 'gtk-3-24'
GtkCellRendererProgress: use tabular figures

See merge request GNOME/gtk!4444
2022-02-07 23:53:50 +00:00
Matthias Clasen
4621008326 Merge branch 'improve-gdk-screen-docs' into 'gtk-3-24'
gdkapplaunchcontext: Improve set_screen() docs

See merge request GNOME/gtk!4435
2022-02-07 23:37:33 +00:00
Benjamin Otte
807ae5cba8 Merge branch 'wip/hadess/inspector-search-by-pointer' into 'gtk-3-24'
inspector: Search by pointer address

See merge request GNOME/gtk!4441
2022-02-04 17:51:05 +00:00
Bastien Nocera
95e9d85716 inspector: Search by pointer address
Useful to find a widget that corresponds to a pointer address in gdb.
2022-02-04 18:16:50 +01:00
Joonas Henriksson
1b78ed4488 theme: Fix incorrect border color for tiled windows 2022-02-02 06:50:52 +02:00
Phaedrus Leeds
c5c76ad327 gdkapplaunchcontext: Improve set_screen() docs 2022-02-01 11:24:04 -08:00
Boyuan Yang
3dc44becf0 Update Chinese (China) translation 2022-01-31 04:02:27 +00:00
Sebastian Dröge
133ff7687a Add Since marker for GtkHeaderBarAccessible
It was added in 3.24.11.
2022-01-30 19:09:50 +02:00
Sebastian Dröge
a47bb16cff Add Since marker for gdk_wayland_window_set_application_id()
It was added in 3.24.22.
2022-01-30 19:07:42 +02:00
Sebastian Dröge
990d298720 Add Since marker to new accessibility API from 3.24.30
- GtkFileChooserWidgetAccessible
 - GtkPlugAccessible
 - GtkSocketAccessible
2022-01-30 18:56:55 +02:00
Luca Bacci
3ebf21c579 Merge branch 'win32-keys-ignore-ctrl' into 'gtk-3-24'
gdkkeys-win32: Ignore CTRL bit for key translation

See merge request GNOME/gtk!4423
2022-01-30 10:45:44 +00:00
Philip Zander
cfc6d6ddb7 gdkkeys-win32: Ignore CTRL bit for key translation
Some keymaps on Windows contain bogus mappings for Ctrl+key for certain
keys, e.g. Ctrl+Backspace = Delete, or Ctrl+[ = 0x1B. These are never
used on Windows, so we should ignore them.

Fixes #4667
2022-01-29 22:36:40 +01:00
Lukas K
503e8f40b9 GtkCellRendererProgress: use tabular figures
yields more visually stable appearance
2022-01-28 19:52:47 +01:00
John Ralls
1b77a4dba9 Merge Lukas Oberhuber's 'fix-retina-cursors' into gtk-3-24. 2022-01-26 21:41:45 -08:00
Anders Jonsson
f49bb510c7 Update Swedish translation 2022-01-22 14:18:12 +00:00
Matthias Clasen
a106160251 Merge branch 'fix-warning' into 'gtk-3-24'
gdk/display-wayland: Don't bypass portal for theme entries

See merge request GNOME/gtk!4400
2022-01-19 13:48:23 +00:00
Florian Müllner
de360b3745 gdk/display-wayland: Don't bypass portal for theme entries
When commit 49589e1da added support for the new high-contrast key,
it missed that the getter should only use the setting directly when
not going through the portal.

https://gitlab.gnome.org/GNOME/gtk/-/issues/4651
2022-01-19 02:17:43 +01:00
Matthias Clasen
248783c202 Merge branch 'fix-places-crash' into 'gtk-3-24'
gtkplacessidebar.c: add bookmark null checking

See merge request GNOME/gtk!4399
2022-01-18 23:50:47 +00:00
Geyslan G. Bem
c7f9c80eb5 gtkplacessidebar.c: add bookmark null checking
This fixes nautilus crash and perhaps other callers issues.
Nautilus (and sometimes glib) crashes with malformed URI inside of the
bookmarks file .config/gtk-3.0/bookmarks when it has no LABEL.

This is result from the closed glib MR #2065 analysis and agreement.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2065#note_1091979

Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>

Fixes: #4643
2022-01-18 18:21:22 -05:00
Luca Bacci
2f00ceb492 Merge branch 'revert-fd6ce997' into 'gtk-3-24'
Revert "Bug 676077: Fix handling of Keyboard Input on Windows"

See merge request GNOME/gtk!4384
2022-01-17 09:43:21 +00:00
Chun-wei Fan
58e038f32e Revert "Bug 676077: Fix handling of Keyboard Input on Windows"
The actual code that does the IM context code handling on Windows now uses the
native Windows APIs to handle keystrokes, so this patch is no longer needed, as
it was found that it instead caused issues.

Pointed out in issue #2865.

This reverts commit fd6ce9975e.
2022-01-17 11:31:28 +08:00
Robert Mader
da4066774b wayland/cursor: Sanity check cursor image size
On Wayland it is a protocol violation to upload buffers with
dimensions that are not an integer multiple of the buffer scale.

Until recently, Mutter did not enforce this. When it started
doing so, some users started seeing crashes in GTK apps because the
cursor theme ended up with e.g. a 15x16 pixel image at scale of 2.

Add a small sanity check for this case.
2022-01-14 20:49:28 +01:00
Luca Bacci
b5d0c44a87 Meson: Use gnome.post_install
Only available on Meson 0.57.0 and later
2022-01-14 17:30:35 +01:00
Lukas Oberhuber
021cdf382d macos: correctly handle retina cursors
This change correctly sizes HiDPI curors on macOS.

Before this, the cursors would appear double the size of normal cursors
on non HiDPI screens.
Based in part on this comment:
https://gitlab.gnome.org/GNOME/gtk/-/issues/613#note_687914
2022-01-14 00:10:15 +00:00
Luca Bacci
8252f99e08 Merge branch 'win32-fix-altgr-gtk3' into 'gtk-3-24'
IMContextSimple: Fix AltGr not working on Win32 [GTK3]

See merge request GNOME/gtk!4374
2022-01-13 19:46:26 +00:00
Philip Zander
f03bf55688 IMContextSimple: Fix AltGr not working on Win32
The old code assumed that any key press containing Ctrl or Alt cannot be
regular text input. This is not correct on Win32 as AltGr = Ctrl + Alt.
2022-01-13 13:43:23 +01:00
Matthias Clasen
dac9baf3b1 Merge branch 'wip/keep-scale-3-24' into 'gtk-3-24'
wayland/window: Only update the scale if on any outputs

See merge request GNOME/gtk!4353
2022-01-12 19:45:50 +00:00
Matthias Clasen
7a35c5bd4e Merge branch '4627-printing-Unref-old-spool_io-before-setting-new-one-gtk3' into 'gtk-3-24'
printing: Unref old spool_io before setting new one

See merge request GNOME/gtk!4369
2022-01-12 19:37:38 +00:00
Marek Kasik
0387486407 printing: Unref old spool_io before setting new one
Unref private spool_io of GtkPrintJob before setting it to a new one
in gtk_print_job_set_source_file() and gtk_print_job_set_source_fd()
to prevent a leak.

Fixes: #4627
2022-01-12 12:46:27 +01:00
Matthias Clasen
8fc2af7bb3 Merge branch 'fontchooser-fix-3' into 'gtk-3-24'
docs: Fix gtk_tree_selection_get_selected_rows()

See merge request GNOME/gtk!4354
2022-01-12 02:49:27 +00:00
Luca Bacci
7e9935e381 Merge branch 'file-chooser-native-win32-grab-only-when-modal' into 'gtk-3-24'
GtkFileChooserNativeWin32: add GTK grab only when modal

See merge request GNOME/gtk!4364
2022-01-11 13:49:45 +00:00
Luca Bacci
0b26e8b8a3 GtkFileChooserNativeWin32: add GTK grab only when modal 2022-01-11 14:23:10 +01:00
Luca Bacci
84386c6466 Merge branch 'win32-keymap-fixes' into 'gtk-3-24'
GdkWin32Keymap bugfixes

See merge request GNOME/gtk!4359
2022-01-11 09:56:48 +00:00
David Hogan
cc47262ccb gdkkeys-win32: Perform keyboard layout substitution
For some users, GetKeyboardLayoutNameA() returns an alias instead of the
fully resolved keyboard layout identifier. In that case, we have to
query the registry to resolve the alias before we can look up the DLL
path.

See comments under #4610
2022-01-10 03:34:59 +01:00
Philip Zander
4e9ddaf086 gdkkeys-win32: Fix handling of SGCAPS
Contrary to what you can read on the internet, SGCAPS keys don't work
by having capslock toggle the KBDCTRL bit, they actually have two
consecutive table entries, the first of which is for the normal
version and the second of which is for the capslocked version.

Background: SGCAPS is short for Swiss German caps because Swiss German
was the first layout to use this feature. For keys with the SGCAPS flag,
capslock has a different effect than pressing shift. For example:
Shift + ü = è,  CapsLock + ü = Ü,  CapsLock + Shift + ü = È
2022-01-09 12:36:47 +01:00
Philip Zander
8b1c334c4a gdkkeys-win32: Fix crash when keyboard DLL failed to load
DLL loading failures should not happen under normal circumstances, but
we should at least try not to crash and and print better diagnostic
messages if they do happen.

See #4610
2022-01-09 12:36:47 +01:00
Philip Zander
404229ad75 gdkkeys-win32: Add keysym mapping for capslock key
Add missing mapping between VK_CAPITAL and GDK_KEY_Caps_Lock, so
applications get a meaningful keyval rather than ffffff.
2022-01-09 12:36:47 +01:00
Philip Zander
acf5db32f1 gdkkeys-win32: Fix capslock handling
Previously, we treated CapsLock and KanaLock as part of the global
keyboard state, much like NumLock and ScrollLock, rather than using
the supplied modifier mask. This was because GDK does not have a
modifier mask for KanaLock, only for CapsLock, so it would not have been
possible to properly support it.

However, this approach ended up causing problems, with certain keyboard
shortcuts not registering when capslock was active. This was first
observed in Inkscape [0] and appears to affect shortcuts consisting of a
single key (like 'a') with no additional modifiers (wheareas shortcuts
like 'ctrl+a' work).

So now we are using the supplied GDK_LOCK_MASK instead, and dropped
support for KanaLock, which we probably don't need anyway (since regular
text input should be handled by the IME input module -- the keymap is
mainly for shortcuts and keybindings, where you don't really want
KanaLock).

[0] https://gitlab.com/inkscape/inkscape/-/issues/3082
2022-01-09 12:36:32 +01:00
Luca Bacci
99c7cb11e5 Merge branch 'fix-4610' into 'gtk-3-24'
gdkkeys-win32: Fix uninitialized value (#4610)

See merge request GNOME/gtk!4355
2022-01-07 20:53:28 +00:00
Luca Bacci
ed67e424f2 Merge branch 'win32-theme-flat-button-fix' into 'gtk-3-24'
GTK WIn32 theme - make buttons with .flat class appear flat and buttons in toolbar non-flat if they don't have said class

See merge request GNOME/gtk!4350
2022-01-07 19:58:47 +00:00
Philip Zander
f81da43b00 gdkkeys-win32: Fix uninitialized value
gdk_win32_keymap_get_entries_for_keycode() did not initialize n_entries,
which led to a wrong number of items being returned in some cases.

/fixes #4610
2022-01-07 20:48:50 +01:00
Matthias Clasen
b4eeada025 fontchooser: Fix axis name handling
This code was just broken.

Fixes: #4603
2022-01-07 14:27:17 -05:00
Jonas Ådahl
b86e6bc38a wayland/window: Only update the scale if on any outputs
If we ended up on no output at all, keep the HiDPI scale as is, as it
likely means we were on a workspace that was switched away from. By
keeping the same scale, we avoid unnecessary scale changes that would
otherwise take place if the scale when on monitors would end up being
more than 1.
2022-01-07 19:33:33 +01:00
KrIr17
e9370d1dc8 make flat buttons look flat (and allow non-flat button in toolbars) 2022-01-07 16:59:24 +00:00
Luca Bacci
0e09bb75b5 Merge branch 'improve-font-features-msvc' into 'gtk-3-24'
Visual Studio projects: Simplify building font features demo

See merge request GNOME/gtk!4336
2022-01-06 05:11:53 +00:00
Luca Bacci
185f82c2ad Merge branch 'msvc-project-improvements' into 'gtk-3-24'
Improve Visual Studio projects (for gtk-3-24)

See merge request GNOME/gtk!4324
2022-01-05 14:12:57 +00:00
Chun-wei Fan
eebc70bf27 Visual Studio projects: Simplify building font features demo
Improve the NMake Makefiles that is used to re-generate demos.h(.win32)
by re-generating the gtk3-demo Visual Studio projects, so that one would
no longer need to do that manually.

Update the build instructions accordingly.
2022-01-05 17:16:00 +08:00
Chun-wei Fan
cef3293184 Visual Studio projects: Generate versioned sources
Instead of relying on the ones that are currently shipped with the tarballs,
generate them from their .in counterparts prior to the build.  This includes
the Resource Scripts (.rc) for libgdk/libgtk, as well as gtkversion.h, in
addition to gdkversionmacros.h which can now be generated during prebuild.
2022-01-04 14:17:38 +08:00
Chun-wei Fan
089cccc929 Visual Studio: Make gen-gdkversionmacros-h.py generic
Rename the script as gen-version-items.py, and so make things more generic and
usable by other items in the build.  We want to eventually to be able to
generate the .rc files and the *version*.h files from their *.in counterparts
using this script.
2022-01-04 11:14:49 +08:00
Chun-wei Fan
fc8b70cbdf config-msvc.mak.in: Record the interface age
We want to make use of this so that we can generate the various versioned
sources easily, such as the Windows .rc scripts and the [gdk|gtk]version*.h.
2022-01-04 11:14:49 +08:00
Chun-wei Fan
6789ff7443 Visual Studio projects: Improve generating libgtk sources
This improves the source generating process by:

*  Generating the sources in the libgtk build directory, so that we do not
   pollute the source tree.
*  Support generating gtk[private]typebuiltins.[c|h] in the Visual Studio
   projects by using NMake internally.
*  Update the projects and the introspection build files so that the generated
   sources and headers can be found.
2022-01-04 11:14:41 +08:00
Chun-wei Fan
8eaddde310 gtk/build: Split out part of headers listings
This will enable us to share this list with the NMake Makefiles that will be
used to generate the gtk[private]typebuiltins.[c|h] in the Visual Studio
projects.
2022-01-04 11:07:28 +08:00
Chun-wei Fan
67f27409e0 GDK/build: Rename deprecated_h_sources to gdk_deprecated_h_sources
This will enable us to not confuse with the deprecated headers in
gtk/deprecated as those headers are also listed under deprecated_h_sources in
gtk/deprecated/Makefile.inc, when we include the makefile snippets in both
gdk/ and gtk/.
2022-01-04 11:07:28 +08:00
Chun-wei Fan
334333f779 Visual Studio projects: Improve generating GDK sources
This makes the rest of the sources that are generated being put in GDK's build
directory for the Visual Studio projects, instead of being placed in GDK's
source subdir, so that:

*  We can avoid polluting GDK's source tree.
*  The Visual Studio builds won't interfere with the Meson builds.

Update the project files to look for the generated sources and headers in the
right places, as well as making the introspection builds look for the generated
sources as well.

Also remove the gtk3-gen-srcs property sheets and put the relevant parts in the
corresponding gtk3-build-defines property sheets, to clean things up a bit.
2022-01-04 11:07:28 +08:00
Chun-wei Fan
74d43defc5 win32: Support (re-)generating gdkenumtypes.[c|h]
Add support in the NMake Makefiles used by the Visual Studio builds to generate
the enumeration sources in gdk/ in its own build directory.
2022-01-04 11:07:27 +08:00
Chun-wei Fan
caa1c0e4e5 gdk: Split out public headers listing
This is so that we can share the list with other Makefile-based build systems
to generate the enumeration sources.
2022-01-04 11:07:27 +08:00
Chun-wei Fan
61dd680b02 win32: Re-organize NMake Makefiles a bit
This way, we can have the introspection NMake Makefiles share more items
with the source generating bits.

Update the Visual Studio projects accordingly
2022-01-04 11:07:27 +08:00
Luca Bacci
6671c20632 Merge branch 'winpointer-fix-key-state' into 'gtk-3-24'
Winpointer: Fix keyboard state

See merge request GNOME/gtk!4327
2022-01-03 18:49:13 +00:00
Luca Bacci
0603dbb466 Merge branch 'filechoosernative-win32-invisible' into 'gtk-3-24'
GTK grab for GtkFileChooserNativeWin32

See merge request GNOME/gtk!4326
2022-01-03 16:12:43 +00:00
Luca Bacci
46c12b2c92 Winpointer: Fix keyboard state
The dwKeyStates field of the POINTER_INFO structure is
always set to 0 no matter what.

Use GetKeyState instead.

Fixes https://gitlab.com/inkscape/inbox/-/issues/5946
2022-01-03 15:08:58 +01:00
Luca Bacci
d3f46bcb16 Add GTK grab when opening GtkFileChooserNativeWin32
Implementation copied from gtkfilechoosernativeportal.c

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4582
2022-01-03 14:51:57 +01:00
Luca Bacci
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
Luca Bacci
23f49038e3 Merge branch 'fix-4565' into 'gtk-3-24'
Font features: Fix building with Pango before 1.44.0

See merge request GNOME/gtk!4302
2022-01-02 15:51:51 +00:00
Luca Bacci
f6fe5d37a5 Merge branch 'more-vs2022-fixes' into 'gtk-3-24'
Some further Visual Studio 2022 build improvements (for gtk-3-24 only)

See merge request GNOME/gtk!4276
2022-01-02 15:50:25 +00:00
Luca Bacci
6ba7c50a7a Add hid.lib to GDK .pc file 2022-01-02 16:11:03 +01:00
Chun-wei Fan
bec88ded5f demos/gtk-demo/font_features.c: Fix build on Pango < 1.44.x
The Pango headers prior to 1.44.0 do not include the HarfBuzz headers, so we
need to re-structure how we check for HarfBuzz 2.2.0 or later if we have Pango
1.44.x or later.

Fixes issue #4565.
2021-12-30 15:33:14 +08:00
Chun-wei Fan
b0e3d03831 gtkfontchooserwidget.c: Fix build with pre-1.44.x Pango
Pango headers after 1.44.0 include hb.h automatically, but not before, so
re-structure the #if/#elif/#else checks for the availability of HarfBuzz 2.2.0
or later.

Pointed out in issue #4565.
2021-12-30 15:26:44 +08:00
Matthias Clasen
cae257c9dc Merge branch 'meson-reftests' into 'gtk-3-24'
meson: Do not install reftests

See merge request GNOME/gtk!4280
2021-12-29 14:42:35 +00:00
Matthias Clasen
8fe3e09cfc Merge branch 'gtk-3-24-macos-dock-quit' into 'gtk-3-24'
macOS: Dock "Quit" invokes "app.quit" action

See merge request GNOME/gtk!4299
2021-12-29 14:28:47 +00:00
Matthias Clasen
8352dee082 Merge branch 'gtk-3-24-issue-4573' into 'gtk-3-24'
macOS: Fix QuartzCore linking and compiling with 10.11

See merge request GNOME/gtk!4298
2021-12-29 13:55:43 +00:00
Thomas Holder
cbd9715c3c macOS: Dock "Quit" invokes "app.quit" action
Allows the application to handle "Dock icon > Quit" the same as
"Application menu > Quit".

Requires GtkApplication's `register-session` property.

Suitable replacement for gtk-mac-integration's
`NSApplicationBlockTermination` signal.
2021-12-29 13:51:01 +01:00
Thomas Holder
0ac6144369 macOS: Fix QuartzCore linking and compiling with 10.11
Follow-up on 10b5f8a0d6

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4573
2021-12-29 11:33:50 +01:00
Melroy van den Berg
37f9af5805 Add define for GC_ALLGESTURES, in-case WINVER is not set. 2021-12-28 00:50:17 +01:00
Melroy van den Berg
4090306fd7 Lowercaps Windows.h -> windows.h 2021-12-28 00:47:28 +01:00
Luca Bacci
e6e4f9e630 Merge branch 'fix_gtk_switch_cleanup' into 'gtk-3-24'
Fix: GTK Switch crash under Windows, on exit.

See merge request GNOME/gtk!4291
2021-12-27 20:39:05 +00:00
Melroy van den Berg
1ce49e48b2 Fix: GTK Switch crash under Windows, on exit. 2021-12-27 20:39:04 +00:00
David King
7f295eeb32 meson: Do not install reftests
Match the testsuite in the main branch.
2021-12-23 10:57:58 +00:00
Chun-wei Fan
04496cc535 win32/detectenv-msvc.mak: Add section on VS2022
This will make introspection builds via the Visual Studio 2022 projects work as
the NMake Makefiles were looking for VS2019 builds, which most probably did not
exist
2021-12-22 10:12:22 +08:00
Chun-wei Fan
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
Matthias Clasen
aa89959942 Merge branch 'fix-dist' into 'gtk-3-24'
gdk/win32/Makefile.am: Dist gdkkeys-win32.h

See merge request GNOME/gtk!4270
2021-12-21 19:25:50 +00:00
Matthias Clasen
bae1a43710 Merge branch 'high-contrast-3' into 'gtk-3-24'
gdk/wayland: Support new `high-contrast` key

See merge request GNOME/gtk!4272
2021-12-21 19:25:32 +00:00
Matthias Clasen
a4b522f6d7 Merge branch 'meson-fixes' into 'gtk-3-24'
Meson fixes

See merge request GNOME/gtk!4273
2021-12-21 19:25:16 +00:00
Matthias Clasen
01cb9b5ae6 Update meson build for recent changes
Adapt the meson build to the changes in
commit 93e1f7f1ec.
2021-12-21 14:22:45 -05:00
David King
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
David King
2b566f0633 meson: Install example schema XML 2021-12-21 13:31:35 +00:00
Florian Müllner
da8f634b25 gdk/wayland: Support new high-contrast key
We now have a boolean setting that determines whether the high-contrast
theme should be used. Support it by automatically setting the existing
`gtk-theme-name` and `gtk-icon-theme-name` properties when enabled.

With that, it is no longer necessary to change the regular theme settings
for high-contrast, so toggling between high-contrast and a non-default
theme finally works reliably.
2021-12-21 14:01:10 +01:00
David King
9bad0a2d5e meson: Remove missing reftests
Removed from autotools build in commit
93e1f7f1ec.
2021-12-21 10:09:29 +00:00
Chun-wei Fan
1a73728e04 gdk/win32/Makefile.am: Dist gdkkeys-win32.h
This was missing from the tarball.
2021-12-21 16:38:17 +08:00
Matthias Clasen
ab45bde94c 3.24.31 2021-12-20 23:01:49 -05:00
Matthias Clasen
93e1f7f1ec Remove a bunch of failing reftests
Still not enough to make distcheck pass.
Giving up on it :(
2021-12-20 23:01:34 -05:00
Matthias Clasen
62768629f2 Fix distcheck 2021-12-20 17:18:55 -05:00
Matthias Clasen
7521de1d61 NEWS: Updates 2021-12-20 13:29:09 -05:00
Matthias Clasen
292be6c4bb Merge branch 'gtk-3-24-bigsur-perf' into 'gtk-3-24'
macOS: Big Sur performance patch

See merge request GNOME/gtk!4265
2021-12-20 15:42:52 +00:00
Lukas Oberhuber
10b5f8a0d6 macOS: Big Sur performance patch
One of 4 that were applied on Gimp 2.99. Original authorship
@DesMcGuiness and adapted to Gtk3 by @lukaso
2021-12-18 22:59:58 +00:00
Matthias Clasen
c3b3f4711d Merge branch 'gtk-3-24' into 'gtk-3-24'
gdkquartz: fix crash on uninitialized attribute

See merge request GNOME/gtk!4257
2021-12-16 13:43:32 +00:00
Lukas Oberhuber
71e2821578 gdkquartz: fix crash on uninitialized attribute
`gdk_quartz_display_get_monitor_at_window` crashes when it tries to access the NSWindow on
an offscreen window. The attribute `toplevel` of `impl` is uninitialized and
causes a segfault.

This partially fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/7608
2021-12-16 13:00:02 +00:00
Sveinn í Felli
fde4431559 Update Icelandic translation 2021-12-15 19:52:29 +00:00
Sveinn í Felli
d45b11e8ea Update Icelandic translation 2021-12-15 19:48:09 +00:00
Luca Bacci
ff06d5d59f Merge branch 'win32-rewrite-keymap-v2' into 'gtk-3-24'
Rewrite GdkWin32Keymap (V2)

See merge request GNOME/gtk!1051
2021-12-15 11:15:27 +00:00
Matthias Clasen
ef95b58500 Merge branch 'gtk-3-24' into 'gtk-3-24'
textview: Add CSS letter spacing [GTK3]

See merge request GNOME/gtk!4254
2021-12-14 18:30:45 +00:00
Melroy van den Berg
70ef77a4c2 Add CSS letter spacing to textview 2021-12-14 17:04:38 +01:00
Carlos Garnacho
2800dc356b Merge branch 'gtk-3-24-x11-xi2.4-gestures' into 'gtk-3-24'
[GTK3] Touchpad gestures for X11 (XInput 2.4, X Server 21.1)

See merge request GNOME/gtk!4212
2021-12-13 13:21:09 +00:00
Philip Zander
e658e3c449 gdk/win32: Fix modifiers sometimes being consumed for special keys
Windows keymaps contain some bogus mappings, e.g. Ctrl+Backspace=Delete.
Previously, we correctly identified the key as Backspace, but the Ctrl
was still consumed, so the Ctrl+Backspace keybinding did not work.
2021-12-10 01:14:47 +01:00
Philip Zander
b3fcfa4bbc gdk/win32: Fix group parameter not being used by translate_keyboard_state
gdk_win32_keymap_translate_keyboard_state erroneously used the active
group rather than the specified group, which caused shortcuts not to
work in Inkscape when using a Cyrillic layout.
2021-12-09 12:29:19 +01:00
Philip Zander
4601d3aee4 gdk/win32: Add licensing boilerplate to gdkkeys-win32 2021-12-09 12:29:15 +01:00
Philip Zander
64eedbfaf4 gdk/win32: Remove unneeded struct _GdkWin32KernelCPUFuncs
It only had a single member and was only used internally by one
function.
2021-12-08 22:46:52 +01:00
Chun-wei Fan
4a55c527d7 gdk/win32: Consolidate CPU detection in one place
This consolidates the check for the running CPU in one single location,
to make things a bit cleaner, as:

* We can make use of IsWow64Process2(), if available, to check both
  whether we are running on an ARM64 CPU, and whether we are running as
  a WOW64 process.  This is also the function to use to properly check
  whether we are running as a WOW64 process on ARM64 systems, as
  IsWow64Process() does not work as we want on ARM64 systems.

* If we don't have IsWow64Process2() (which is absent from Windows prior
  to Windows 10 1511, where ARM64 Windows is introduced), we can fall
  back to  IsWow64Process(), which will tell us whether we are running
  as an WOW64 process (but clearly not on an ARM64 system).

Also clean up things a bit so that we can reduce reliance on global
variables.
2021-12-08 22:46:49 +01:00
Philip Zander
aa3e6bb0a3 GdkWin32Keymap: Be more robust against DLL loading failures
Fixes failure on the CI servers when generating GIR files
2021-12-08 22:44:20 +01:00
Philip Zander
4039153ca7 Rewrite GdkWin32Keymap (load table directly from layout DLL)
The old code used repeated calls to `ToUnicodeEx` to populate
the translation table, which is slow and buggy. The new code
directly loads the layout driver DLLs from Windows.

Associated issues: #2055 #1033
Merge request: !1051

GdkWin32Keymap cleanup

Conform to C89, improve comments, whitespace
2021-12-08 22:44:17 +01:00
Carlos Garnacho
068df4874a Merge branch 'wayland-clipboard-fix' into 'gtk-3-24'
wayland: Ensure clipboard handling doesn't lock up in certain corner cases

See merge request GNOME/gtk!4058
2021-12-06 11:16:54 +00:00
msizanoen1
e23b4dd21b wayland: Ensure clipboard handling doesn't lock up in certain corner cases
When a selection request fails to be converted to the requested format in the
GTK layers, the wayland backend would miss bumping the machinery to handle
further pending selection requests. Fix this by reacting to
GdkDisplay::send_selection_notify with target=GDK_NONE (i.e. a failed
conversion as hinted from the upper layers) to do that.

This ensures the clipboard handling doesn't lock up in the following
scenarios:
  - GTK returned with a mismatching type to the one requested
  - GTK fails to convert to the requested type

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4340
2021-12-06 11:30:11 +01:00
Povilas Kanapickas
a94baf4c3d gdk/x11: Report XI2 version on the server 2021-12-03 00:04:10 +02:00
Povilas Kanapickas
a1a2f8ab56 gdk/x11: Implement XI2.4 touchpad gesture support 2021-12-03 00:04:10 +02:00
Quentin PAGÈS
2db8f64ca7 Update Occitan translation 2021-12-02 15:48:19 +00:00
Matthias Clasen
15d9b3c7d6 Merge branch 'backport-font-feature-pango-hb' into 'gtk-3-24'
Backport font features code utilizing Pango with HarfBuzz integration (1.44.x) for gtk-3-24

See merge request GNOME/gtk!4206
2021-12-01 15:47:30 +00:00
Matthias Clasen
1b789197e5 fontchooser: Avoid setting variations needlessly
Setting variations to their default value causes
them to show up in the serialization of the font
description - a font description has no idea about
the default values, so can't filter them out.

Avoid that.
2021-11-29 13:05:02 +08:00
Chun-wei Fan
28337d68a3 Visual Studio projects: Update README for additional features
Rename README_EGL_MSVC.txt to README_FEATURES_MSVC.txt, as we now have
more features that can be included in the builds using the Visual
Studio projects, which require additional depedencies and manual
enabling.

Specifically, this outlines how the font tweaking feature in libgtk can
be enabled and for people who wish to do so, how to enable the Font
Features demo in gtk3-demo.exe.
2021-11-29 12:25:53 +08:00
Chun-wei Fan
f82eb198f2 Meson: Enable font features demo on later Pango versions
...even if PangoFT2 is not present, provided that Pango 1.44.0+ and
HarfBuzz 2.2.0+ are installed.  The demo now has added support for later
Pango versions that use HarfBuzz for shaping on all supported platforms.
2021-11-29 12:25:53 +08:00
Chun-wei Fan
720e335246 configure.ac: Check for Pango 1.44.0 or later
...and HarfBuzz 2.2.0 or later so that we can enable the font feature
demo even if we do not have PangoFT2.
2021-11-29 12:25:53 +08:00
Chun-wei Fan
b8e78f83ce Font features demo: Port to newer Pango
...if Pango 1.44.0+ and HarfBuzz 2.2.0+ are available, otherwise we
stick on to the current code path.

This way, we can have people build and run the demo even without
PangoFT2 if Pango 1.44.0 or later and HarfBuzz 2.2.0 or later is
installed.
2021-11-29 12:25:53 +08:00
Chun-wei Fan
079ee4e31e win32/generate-msvc.mak: Add rule to regenerate demos.h.win32
We can regenerate demos.h.win32 with or without the font features demo
by using the regenerate-demos-h-win32 target with or without secifying
the FONT_FEATURES_DEMO=1 flag on the NMake command line.
2021-11-29 12:25:53 +08:00
Chun-wei Fan
f8200470da gtk-demo: Split out demo sources from Makefile.am
This way, we can share the demo listing to be used in other build
Makefile-based build systems, such as the auxiliary NMake Makefiles used
to generate the various sources.
2021-11-29 12:25:52 +08:00
Chun-wei Fan
c3c759cbdd Visual Studio projects: Define __MSVC_PROJECTS__
...in the libgtk3 project, so that we can automatically link to
harfbuzz.lib if we have a sufficiently-new version of Pango and HarfBuzz
installed, so that the code to enable font features can be linked
properly, even if we don't explicitly put harfbuzz.lib in the list of
libraries that we feed into the linker in the project files.

If one is using pre-Pango-1.44.x and/or pre-HarfBuzz-2.2.0 and intends
to enable font features support, one still must update config.h.win32 to
make sure HAVE_PANGOFT2 and HAVE_HARFBUZZ is defined, and put
pangoft2-1.0.lib, harfbuzz.lib and freetype.lib (or so) in the
"Additional Libraries" under the linker settings in the projects
manually, as required before.
2021-11-29 12:25:52 +08:00
Chun-wei Fan
e1422d73b1 gtkfontchooserwidget.c: Always enable font features with later Pango
This is a backport of the code in GTK4 where we can use the font
features that is given to us via HarfBuzz if we have Pango 1.44.x and
HarfBuzz 2.2.0 or later installed, even if we do not have PangoFT2
aavilable.

Since Pango 1.44.x depends on HarfBuzz for all platforms after 1.44.0,
we could take advantage of that and build the support in
GtkFontChooserWidget.

Add a directive that is to be used by Visual Studio compilers via the
Visual Studio projects to link to harfbuzz.lib automatically, so that
this support can be linked properly if we have the required Pango and
HarfBuzz headers and lib's installed.  Meson builds via Visual Studio
should handle this automatically, since pkg-config is being used there.

Since HAVE_PANGOFT2 and HAVE_HARFBUZZ is not defined by default in the
Visaul Studio projects, we will leave it up to the user to enable them
themselves and put in pangoft2-1.0.lib and harfbuzz.lib in the project
settings by themselves, or they could use Meson, as we did before.
2021-11-29 12:25:52 +08:00
Quentin PAGÈS
6c4cc93121 Update Occitan translation 2021-11-28 13:24:15 +00:00
Luca Bacci
ee79334a52 Merge branch 'fix-printoperation-win32' into 'gtk-3-24'
gtkprintoperation-win32.c: Fix build on Visual Studio

See merge request GNOME/gtk!4193
2021-11-25 11:33:38 +00:00
Chun-wei Fan
dfbcc0849b gtkprintoperation-win32.c: Fix build on Visual Studio
Cast the result of GetWindowLongPtrW() to void * so that we won't get
the C4047 warnings, which are considered an error in building the GTK
stack.
2021-11-25 19:00:22 +08:00
Emmanuele Bassi
34038aaf7d Merge branch 'wip/fix-randr-race-3-24' into 'gtk-3-24'
x11: Trap error when getting CRTC info [3.24]

See merge request GNOME/gtk!4168
2021-11-24 16:48:39 +00:00
Luca Bacci
0e48d8d7e3 Merge branch 'quartz-fix-keyboard-layout-notification' into 'gtk-3-24'
Quartz: Fix race for keyboard layout change notifications

See merge request GNOME/gtk!4190
2021-11-24 15:56:00 +00:00
Luca Bacci
78a0cdde83 Quartz: Fix keyboard layout notification
Register for notifications before initializing keymaps
2021-11-24 16:20:02 +01:00
Luca Bacci
c2e6fcc92d Merge branch 'win32-theme-fixes' into 'gtk-3-24'
Win32 theme fixes

See merge request GNOME/gtk!4189
2021-11-23 13:25:08 +00:00
Jaime Velasco Juan
466619f7c1 win32 theme: Draw expander arrow
Better than nothing.
2021-11-23 12:42:41 +01:00
Jaime Velasco Juan
2f30e12de7 win32 theme: Fix unfocused window buttons 2021-11-23 12:35:39 +01:00
Jaime Velasco Juan
bfe7a57b76 win32 theme: fix disabled GtkEntry style 2021-11-23 12:27:47 +01:00
Jaime Velasco Juan
f9d82e965e win32 theme: Fix levelbar and tweak progressbar
Both have a similar look now
2021-11-23 12:05:51 +01:00
Luca Bacci
8d654527ab Merge branch 'ole2-dnd-ipc-window-follows-the-cursor-monitor' into 'gtk-3-24'
GdkWin32: Make OLE2 DND work on monitors with different OS scales

See merge request GNOME/gtk!4155
2021-11-18 21:57:36 +00:00
Luca Bacci
661f23d337 Merge branch 'gdk-win32-custom-print-dialog-widget-measurement' into 'gtk-3-24'
Fix measurement of custom widget in win32 print dialog

See merge request GNOME/gtk!4159
2021-11-18 19:02:58 +00:00
Luca Bacci
1650b4b205 Win32: Fix print dialog custom widget measurement 2021-11-17 15:41:13 +01:00
Jonas Ådahl
102341ae9f x11: Trap error when getting CRTC info
This should fix a race happening when RANDR changes quickly, e.g. during
unit testing where tests change monitor configurations rapidly.
2021-11-17 11:14:00 +01:00
Aleksandr Melman
2d67c74ea2 Update Russian translation 2021-11-16 21:52:25 +00:00
Matthias Clasen
7f8efb6b8d Merge branch 'gtk-3-24_inkscape2932' into 'gtk-3-24'
Backport css: Avoid a crash while parsing radial gradients

See merge request GNOME/gtk!4161
2021-11-16 21:30:10 +00:00
Matthias Clasen
bac491b0b5 Merge branch 'compose-cache-symlinks' into 'gtk-3-24'
[GTK3 backport] composetable: invalidate cache based on symlink mtime too

See merge request GNOME/gtk!4165
2021-11-16 21:29:38 +00:00
Naïm Favier
1284a804f1 composetable: invalidate cache based on symlink mtime too
When the compose file is a symbolic link, take the link itself's
modification time into account (in addition to its target's) in
determining whether to invalidate the compose cache.

This is useful e.g. on NixOS systems where the compose file might point
to a store path with an irrelevant modification time, and we want the
cache to expire when the symlink itself changes.

(cherry picked from commit 22f5236943)
2021-11-16 18:30:02 +01:00
Matthias Clasen
60ec8dbd69 css: Avoid a crash while parsing radial gradients
has_size does not imply that sizes[0] is != NULL.

(cherry picked from commit aceba7484f)
2021-11-16 12:04:54 +11:00
Luca Bacci
4d40300d8a GdkWin32: Make OLE2 DND work in monitors with different OS scales
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3734
2021-11-13 19:41:58 +01:00
Luca Bacci
a174568ef9 Merge branch 'gtk3-dnd-find-dest-window-fix' into 'gtk-3-24'
GdkWin32: Fix DND destination window search

See merge request GNOME/gtk!3885
2021-11-13 14:51:49 +00:00
Quentin PAGÈS
7520524aed Update Occitan translation 2021-11-10 18:17:30 +00:00
Milo Casagrande
02381e49d7 Update Italian translation 2021-11-09 08:43:19 +00:00
Luca Bacci
ae8fde9630 Merge branch 'win32-gl-reorg-3' into 'gtk-3-24'
GDK-Win32: Reorganize backend GL code and add fallback mode

See merge request GNOME/gtk!3859
2021-11-06 11:21:43 +00:00
Matthias Clasen
3c83854962 Merge branch 'wip/carlosg/no-ping-serials-for-input-3-24' into 'gtk-3-24'
[3.24] gdk/wayland: Do not use xdg_wm_base.ping serials as "user input" serials

See merge request GNOME/gtk!4123
2021-11-06 02:20:12 +00:00
Luca Bacci
4067e46e20 Merge branch 'vs2022-vcproj' into 'gtk-3-24'
Visual Studio projects: "Add" Visual Studio 2022 projects

See merge request GNOME/gtk!4064
2021-11-05 17:38:08 +00:00
Carlos Garnacho
d81f58bc09 gdk/wayland: Do not use xdg_wm_base.ping serials as "user input" serials
Ping/pong serials are not meant to be interpreted as user input serials
(e.g. those given back later to the compositor on grabs). As a matter
of fact, Mutter uses a different count (i.e. timestamps) in these, so
using these serials may confuse the compositor into denying certain
operations like DnD.
2021-11-05 14:43:23 +01:00
Goran Vidović
6b980e5ce8 Update Croatian translation 2021-10-29 15:24:44 +00:00
Matthias Clasen
660cbee51e Merge branch 'fix-win11-sdk-3' into 'gtk-3-24'
Fix building against the Windows 11 SDK (GTK+-3.x)

See merge request GNOME/gtk!4062
2021-10-28 16:47:15 +00:00
Matthias Clasen
a12769a2c4 Merge branch 'fix-recent-filter-uri' into 'gtk-3-24'
GtkRecentFilter: Do not unset the uri if it is needed

See merge request GNOME/gtk!4080
2021-10-27 15:03:40 +00:00
Rūdolfs Mazurs
20be04f7ac Update Latvian translation 2021-10-25 16:50:04 +00:00
Goran Vidović
cdab711ec2 Update Croatian translation 2021-10-21 10:38:42 +00:00
Goran Vidović
595531eba5 Update Croatian translation 2021-10-21 10:37:02 +00:00
Gaël Bonithon
90ca7fb3c9 GtkRecentFilter: Do not unset the uri if it is needed 2021-10-19 20:28:06 +02:00
Matthias Clasen
1e72dac839 Merge branch 'wip/hadess/quiet-broadway-gtk3' into 'gtk-3-24'
broadway: Quiet initialisation failures

See merge request GNOME/gtk!4052
2021-10-19 02:45:56 +00:00
Matthias Clasen
25d01b7610 Merge branch 'wip/fix-remap-up-left-popup' into 'gtk-3-24'
window/wayland: Reset position when hiding popup

See merge request GNOME/gtk!3913
2021-10-18 22:34:39 +00:00
Jonas Ådahl
0f871584fc Merge branch 'surfaceloop' into 'gtk-3-24'
Check if size changed before hiding a surface

See merge request GNOME/gtk!3944
2021-10-18 14:20:44 +00:00
Luca Bacci
d34f4416bd Merge branch 'gdk-win32-ensure-correct-order-of-operations-when-handling-dpi-scale-and-gdk-screen-offset' into 'gtk-3-24'
GdkWin32: Ensure consistent order of operations when handling DPI scale and GDK screen offset

See merge request GNOME/gtk!3931
2021-10-18 11:36:47 +00:00
John Ralls
36315cbe2b [quartz]Use the absolute value of Scale values for CGContextScaleSCM
In macOS-12.sdk CGContextConverSizeToDeviceSpace returns a negative
height and passing that to CGContextScaleCTM in turn causes the cairo
surface to draw outside the window where it can't be seen. Passing the
absolute values of the scale factors fixes the display on macOS 12 without
affecting earlier macOS versions.
2021-10-14 12:45:48 -07:00
Chun-wei Fan
1234b46d3b Visual Studio projects: "Add" Visual Studio 2022 projects
Like the Visual Studio 2012+ projects, copy the Visual Studio 2010
projects and replace the items in there as needed, so that we can
obtain Visual Studio 2022 project files, since they are all in the
MSBuild format.
2021-10-14 10:53:18 +08:00
Chun-wei Fan
c4d8575c30 gtk: Fix building version resource on Windows 11 SDK
The rc.exe that comes with the Windows 11 SDK does not allow one to include
winuser.h directly in the .rc scripts, so make sure that we do not try to
generate the final gtk.rc with it, but instead include windows.h with
WIN32_LEAN_AND_MEAN defined.
2021-10-14 10:30:58 +08:00
Chun-wei Fan
dceed915e8 gtk/generate-uac-manifest.py: Fix UAC manifest .rc
The resource compiler in the Windows 11 SDK does not allow one to include
winuser.h directly in resource scripts (.rc) with a rather cryptic error
message, so fix generating the .rc file to embed the UAC manifest by including
windows.h with WIN32_LEAN_AND_MEAN instead.
2021-10-13 11:38:26 +08:00
Sveinn í Felli
49374551e8 Update Icelandic translation 2021-10-12 22:45:33 +00:00
Rafael Fontenelle
888fe92051 Update Brazilian Portuguese translation 2021-10-12 17:37:09 +00:00
Bastien Nocera
e7679635b0 broadway: Quiet initialisation failures
Broadway is the only GTK+ backend that throws an error on stderr for a
"display server" connection failure.

This causes problems when gtk_init_check() is used and unexpected error
output is generated such as with hotdoc, which fails when generating a
GTK plugin's documentation instead of overlooking the issue.

"Unable to init server: Could not connect: Connection refused"
2021-10-11 20:29:40 +02:00
Ting-Wei Lan
d90efbd9be Merge branch 'wip/lantw/GDK-Win32-Fix-MinGW-autotools-build' into 'gtk-3-24'
GDK/Win32: Fix MinGW autotools build

See merge request GNOME/gtk!3991
2021-10-10 10:33:42 +00:00
Emmanuele Bassi
0d0c9c918e Merge branch 'filesearch3' into 'gtk-3-24'
searchenginemodel: finalize search results

See merge request GNOME/gtk!4030
2021-10-04 14:07:13 +00:00
Pierre Ossman
aca83684ed searchenginemodel: finalize search results
It is necessary to signal the search engine that we are finished and
that we found something for it to reliably show the results. It would
sometimes work anyway since it is sufficient if any backend signals
completion. However if GtkSearchEngineModel was the only backend
returning results then things would break.
2021-10-04 15:41:42 +02:00
Emmanuele Bassi
d4376ec0db Merge branch 'gtk3-debian-ci' into 'gtk-3-24'
ci: Update Debian image to current stable

See merge request GNOME/gtk!4031
2021-10-04 12:50:35 +00:00
Emmanuele Bassi
41a2f5cdc0 ci: Update the Debian CI image 2021-10-04 13:24:32 +01:00
Emmanuele Bassi
7e2917e19c ci: Update Debian image to current stable
This is required by a change in the certificates that makes it
impossible to run `git clone` on a GNOME GitLab repository in a CI
pipeline.
2021-10-04 13:23:32 +01:00
Emmanuele Bassi
3935a4a44a Merge branch 'gtk3-selection-docs' into 'gtk-3-24'
docs: Fix gtk_tree_selection_get_selected()

See merge request GNOME/gtk!4012
2021-09-30 00:12:20 +00:00
Emmanuele Bassi
1900fc2f80 docs: Fix gtk_tree_selection_get_selected_rows()
Reword the description and return value so that they look better on
docs.gtk.org.
2021-09-30 00:38:17 +01:00
Emmanuele Bassi
4f54fcd288 docs: Fix gtk_tree_selection_get_selected()
Use the proper sigils for enumeration values and constants. The
description is also barely intelligible.
2021-09-30 00:35:11 +01:00
Sveinn í Felli
d5657e2c55 Update Icelandic translation 2021-09-29 12:08:08 +00:00
Danial Behzadi
d1b90752ca Update Persian translation 2021-09-25 10:48:05 +00:00
Ting-Wei Lan
26d61e2abc GDK/Win32: Fix MinGW autotools build
MinGW-w64 CRT provides no 'hid.lib' file. Instead, it has 'libhid.a'
which can be linked with '-lhid' linker argument.

Also, we have to declare the '_LIBADD' variable and add 'LDADDS' to it,
or 'LDADDS' won't do anything for the build.
2021-09-24 00:06:51 +08:00
Luca Bacci
378ed797a4 GdkWin32: Initialize _gdk_offset_x / _gdk_offset_x to unscaled values
Note that gdk_monitor_get_geometry () returns DPI-scaled values,
while the screen offset should be unscaled, as scales are properties
of indivdual monitors.
2021-09-23 17:37:54 +02:00
Luca Bacci
876a2e6225 GdkWin32: Ensure a consistent order of operations when handling DPI scale and GDK screen offset 2021-09-23 17:37:45 +02:00
Luca Bacci
cac1c7cd22 GdkWin32: Use a signed integral type for the DPI scale
An arithmetic operation involving a signed and an unsigned operand
of the same rank will have both operands converted to *unsigned*.
That's an issue if the signed operand actually has a negative value.

That was causing issues with the handling of monitor geometries that
had negative x / y positions.
2021-09-23 15:28:42 +02:00
Matthias Clasen
8d04980f38 Merge branch 'gtk-3-24' into 'gtk-3-24'
Do not require wayland-protocols as dependency in the .pc files

See merge request GNOME/gtk!3961
2021-09-16 18:37:36 +00:00
muradm
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
Fabio Tomat
5cccc2d975 Update Friulian translation 2021-09-16 12:15:24 +00:00
Matthias Clasen
36b4cd11b6 Merge branch 'reset-source-id' into 'gtk-3-24'
GtkClipboard: Reset a source id to prevent double free

See merge request GNOME/gtk!3954
2021-09-15 12:23:15 +00:00
Daniel Mustieles
df1e6dc45d Updated Spanish translation 2021-09-15 08:29:52 +02:00
Gaël Bonithon
599ab80c63 GtkClipboard: Reset a source id to prevent double free
Fixes #4253.
2021-09-15 07:37:46 +02:00
Ronan Pigott
23c7e6e13b Check if size changed before hiding a surface
Commit 68188fc948 introduces a workaround for clients that try to
change the size of a popup after it is created, but inadvertently
introduces an infinite loop of surface creation when the popup enters
two or more wl_outputs with different scales on creation.

This commit checks if the size actually changed before applying the
workaround and avoids the loop.
2021-09-13 17:14:14 -07:00
Alan Mortensen
1382e54ef6 Updated Danish translation of gtk-properties 2021-09-13 20:48:53 +02:00
Alan Mortensen
53fc584988 Updated Danish translation 2021-09-13 20:48:50 +02:00
Matthias Clasen
3567a74dd8 Merge branch 'ownoutput' into 'gtk-3-24'
Ignore wl_output globals not bound by us

See merge request GNOME/gtk!3941
2021-09-13 16:48:40 +00:00
Ronan Pigott
9a4e328928 Ignore wl_output globals not bound by us
Gdk doesn't know the scale of output globals it didn't bind. This
keeps them from entering the output list and triggering erroneous
changes in surface scales.
2021-09-13 03:08:49 -07:00
Luca Bacci
c71dca236c Use WindowFromPoint to find DND target window 2021-09-10 13:59:27 +02:00
John Ralls
a752e33838 Update Quartz version detection for macOS 12. 2021-09-08 18:01:50 -07:00
Luna Jernberg
b5a2d29538 Update Swedish translation 2021-09-08 19:53:47 +00:00
John Ralls
e9d4b0dda0 Move includes of gdkinternal-quartz.h from headers to impl files.
gdkinternal-quartz.h isn't installed but the headers that included
it are, which which would cause the build to fail if an external
project included one of them.

Also changed the includes in gdkinteral-quartz.h to local for
faster loading.
2021-09-07 11:08:11 -07:00
John Ralls
7e732caa1e Let gdkquartz-cocoa-access.h find gdkquartz.h during build.
gdkquartz.h is installed in $PREFIX/include/gdk but is in gdk/quartz
in the source tree. Use "gdkquartz.h" to find it in both places.
2021-09-07 10:39:37 -07:00
Chun-wei Fan
bcdbb93296 GDK-Win32: Add fallback mode to GLES
...if GLES (libANGLE) support was enabled in the build.  This way, we can
check whether the GL driver is capable enough to support the OpenGL
features that we use in GTK.  If the driver is not capable enough, and
GLES support is enabled, we can try to create the GdkGLContext again as a
GLES context.
2021-09-06 19:36:14 +08:00
Chun-wei Fan
97d3024701 gdk/win32: Some further small GL-related cleanup
Remove from gdkglcontext-win32.h items that aren't really necessary, and
just include gdkglcontext-win32.h where applicable.
2021-09-06 19:36:13 +08:00
Chun-wei Fan
9e949209a1 GDK-Win32: Reorganize gdkgdlcontext-win32.c
Group the WGL-specific code and GLES-specific code together, so that we
can reduce the number of #ifdef ... in the code, to make the code more
readable and easily maintained.  This will pave the way to add a
fallback mode to use libANGLE (OpenGL/ES) in case the Desktop OpenGL
support is inadequte, if OpenGL/ES support is enabled in the build.

This is somewhat based on the updates that were done in GTK master, so
we are using one subclass for WGL-based GdkGLContexts, and another for
GLES-based GdkGLContexts.

Also remove the underscores in many of the functions in
gdkglcontext-win32.*.

Clean up the code a bit as a result.
2021-09-06 19:36:13 +08:00
Goran Vidović
543b7defec Update Croatian translation 2021-09-04 17:15:55 +00:00
Boyuan Yang
f7713bde1a Update Chinese (China) translation 2021-09-04 16:20:22 +00:00
Dz Chen
499af07d2c Update Chinese (China) translation 2021-09-04 15:50:14 +00:00
Changwoo Ryu
b4acfaee1c Update Korean translation 2021-09-04 14:54:31 +00:00
Jiri Grönroos
c6d2d97774 Update Finnish translation 2021-09-02 16:18:44 +00:00
Jonas Ådahl
d74b01636b window/wayland: Reset position when hiding popup
When a popup is remapped, if the GdkWindow::x/y position is negative,
some best-effort hueristics used to ignore internal X11-style hackery
windows incorrectly scooped up remapped popup windows.

Avoid these hueristics by resetting the x and y fields of GdkWindow to 0
whe hiding a popup. It'll then appear as if it was newly initialized,
and escape the mentioned hueristics.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4071
2021-09-02 10:24:38 +02:00
Nathan Follens
9ff2a9ab9b Update Dutch translation 2021-08-31 15:30:14 +00:00
eshagh shahidani
7691c94a37 Update Persian translation 2021-08-31 14:41:54 +00:00
Baurzhan Muftakhidinov
659292f9ba Update Kazakh translation 2021-08-29 07:38:36 +00:00
Claude Paroz
e2218cbb4d Updated French translation 2021-08-28 09:13:25 +02:00
Marek Černocký
93c4359ec0 Updated Czech translation 2021-08-26 14:33:08 +02:00
Fran Dieguez
82c199db00 Update Galician translation 2021-08-25 06:04:44 +00:00
Balázs Meskó
79fc2631c5 Update Hungarian translation 2021-08-23 05:54:19 +00:00
Matthias Clasen
f6a82cb658 Merge branch 'cherry-pick-5044031b' into 'gtk-3-24'
Merge branch 'wip/kalev/gcc-11' into 'master'

See merge request GNOME/gtk!3870
2021-08-22 19:53:16 +00:00
Matthias Clasen
26e9919bf6 Merge branch 'gtk3-docs-fixes' into 'gtk-3-24'
docs: Escape the XML tags in the Widget class description

See merge request GNOME/gtk!3869
2021-08-22 19:13:57 +00:00
Matthias Clasen
b4e110920a Merge branch 'wip/kalev/gcc-11' into 'master'
Avoid diagnostics for gcc-11 false positive out of bounds accesses

See merge request GNOME/gtk!3064

(cherry picked from commit 5044031b53)

c514c41d Avoid diagnostics for gcc-11 false positive out of bounds accesses
2021-08-22 19:03:23 +00:00
Emmanuele Bassi
ff46ea64c4 docs: Escape the XML tags in the Widget class description
While gtk-doc doesn't care, this isn't really valid Markdown as the
GtkBuilder custom XML tags will be considered valid markup and embedded
as they are, breaking the HTML output.
2021-08-22 19:38:44 +01:00
Asier Sarasua Garmendia
4868656ebb Update Basque translation 2021-08-21 08:43:24 +00:00
Matthias Clasen
2dee749632 Merge branch 'accepts_dnd_from_finder' into 'gtk-3-24'
accepts NSPasteboardTypeFileURL as "text/uri-list".

See merge request GNOME/gtk!3846
2021-08-20 13:23:07 +00:00
Hiroyuki Ito
ec4d27a4fc accepts NSPasteboardTypeFileURL as "text/uri-list". 2021-08-14 09:38:36 +09:00
Danial Behzadi
fe19b20492 Update Persian translation 2021-08-07 14:42:26 +00:00
Мирослав Николић
94f86a2fb6 Update Serbian translation 2021-08-04 17:26:12 +00:00
Matthias Clasen
3a8fab6879 Merge branch 'luizfls-gtk-3-24-patch-58754' into 'gtk-3-24'
gtkwindow.c: Fix typo in `gtk_window_unstick` documentation

See merge request GNOME/gtk!3798
2021-07-29 21:27:41 +00:00
Luiz Silva
b04bd31718 Fix typo in gtk_window_unstick documentation 2021-07-29 15:03:34 +00:00
Matthias Clasen
d450cbe517 Merge branch 'opengl.win32.fixes' into 'gtk-3-24'
GDK/Win32: Fix up OpenGL a bit (part of !3767 for GTK3)

See merge request GNOME/gtk!3792
2021-07-28 17:55:51 +00:00
Matthias Clasen
d86ce85267 Merge branch 'fix-cxo-system-build' into 'gtk-3-24'
gdkdevicemanager-win32.c: Fix build

See merge request GNOME/gtk!3791
2021-07-28 17:55:01 +00:00
Chun-wei Fan
a4066188a2 Merge branch 'msvc-prototype' into 'gtk-3-24'
config.h.win32.in: Define HAVE_SETUP_DI_GET_DEVICE_PROPERTY_W

See merge request GNOME/gtk!3793
2021-07-28 07:22:22 +00:00
Chun-wei Fan
b81b9311f6 config.h.win32.in: Define HAVE_SETUP_DI_GET_DEVICE_PROPERTY_W
... on Visual Studio, so that we will not have warnings from defining
the prototype SetupDiGetDevicePropertyW() unnessarily.
2021-07-28 15:00:38 +08:00
Chun-wei Fan
15817973d7 GDK/Win32: Fix up OpenGL a bit
Like the recent updates in GTK4, the HWND that we use to obtain the HDC
that we need for OpenGL/GLES operations should really be tied to
GdkWindow, not GdkDisplay, as that is where the Win32 HWND where we
originate from is located, so stop storing the GL HWND in
GdkWin32Display, but just grab them from the GdkWindow that is bound to
the GdkGLContext.

We are more conservative about freeing up GL resources in GTK3, so we
will continue to call ReleaseDC() as we did before.
2021-07-28 11:28:17 +08:00
Chun-wei Fan
71aa479d16 gdkdevicemanager-win32.c: Fix build
Fix the call to p_WTSetA, as we should be passing in a HCTX, not a
HCTX*.  Also clean up things a bit.
2021-07-28 09:58:06 +08:00
Matthias Clasen
998f4f32cc Merge branch 'wip/carlosg/sequence-accepted-in-group-3-24' into 'gtk-3-24'
gtkgesture: Apply gesture group state after setting up sequence

See merge request GNOME/gtk!3774
2021-07-21 12:49:22 +00:00
Carlos Garnacho
944a75659c gtkgesture: Apply gesture group state after setting up sequence
When a new sequence is added to a GtkGesture, its state is looked
in other gestures in the same group, and made to match in this
gesture. This however happened a bit too early, before the
gesture touchpoint was fully set up. As this may result in signal
emission and whatnot, it's a good idea to make it happen with a
fully set up touchpoint.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3946

(Cherry-picked from commit 53df32e6cf)
2021-07-21 14:27:28 +02:00
Matthias Clasen
bc1ab236bd Merge branch 'BUG_filechooserbutton_remote_GTK3' into 'gtk-3-24'
FileChooserButton: query 'display name' also for unbookmarked files

See merge request GNOME/gtk!1724
2021-07-20 18:39:44 +00:00
Benjamin Otte
adf9578e9c Merge branch 'ci-default-settings' into 'gtk-3-24'
reftests: Enforce default settings

See merge request GNOME/gtk!3768
2021-07-19 17:30:57 +00:00
Matthias Clasen
b541ad48d1 reftests: Enforce default settings
Set all settings to their default values, so we
are less dependent on the environment to be set
up just right. In particular, this fixes animations
being disabled when we happen to run in a vm.
2021-07-19 13:10:31 -04:00
Matthias Clasen
557c3d1d62 Merge branch 'pango-main-for-3' into 'gtk-3-24'
Use pango from the main branch

See merge request GNOME/gtk!3761
2021-07-17 13:05:13 +00:00
Philipp Kiemle
da4769ec81 Update German translation 2021-07-16 22:17:16 +00:00
Matthias Clasen
fe14b9d311 Use pango from the main branch
Change the Pango subproject to use the main branch.

This depends on
https://gitlab.gnome.org/GNOME/pango/-/merge_requests/379
2021-07-16 13:21:09 -04:00
Chun-wei Fan
71d7054ff7 Merge branch 'wintab-set-cxo-system-option' into 'gtk-3-24'
Wintab: Set the CXO_SYSTEM option

See merge request GNOME/gtk!3644
2021-07-12 01:52:57 +00:00
John Ralls
6128492cc0 [quartz] Fix incorrect include path for gdkquartz.h 2021-07-10 13:57:11 -07:00
Chao-Hsiung Liao
7912714337 Update Chinese (Taiwan) translation 2021-07-10 08:40:51 +00:00
Chao-Hsiung Liao
0c4a627199 Update Chinese (Taiwan) translation 2021-07-10 08:36:42 +00:00
Matthias Clasen
a8c83fe3bc Merge branch 'gdkkeys' into 'gtk-3-24'
gdkkeys-win32.c: fix initialisation of key_state in update_keymap

See merge request GNOME/gtk!3741
2021-07-09 10:58:09 +00:00
Chun-wei Fan
2f176b566e Merge branch 'fix-winpointer-h-make-dist' into 'gtk-3-24'
Add winpointer.h to Makefile.am sources list

See merge request GNOME/gtk!3743
2021-07-09 09:37:24 +00:00
Luca Bacci
de31fdcc68 Add winpointer.h to Makefile.am sources list 2021-07-09 09:00:36 +02:00
Jeremy Tan
7303854310 gdkkeys-win32.c: fix initialisation of key_state in update_keymap
It apparently worked by chance in the past, but now causes e.g.
alphanumeric characters to be interpreted as half-width katakana
when using the Japanese IME.
2021-07-09 12:35:44 +08:00
Matthias Clasen
d4e2d05cd9 3.24.30 2021-07-08 10:02:44 -04:00
Źmicier Turok
2169161312 Update Belarusian translation 2021-07-06 06:21:07 +00:00
Matthias Clasen
635591c4d6 Merge branch 'pgriffis/remove-cloudprint-gtk3' into 'gtk-3-24'
Remove Google Cloud Print backend (GTK3)

See merge request GNOME/gtk!3730
2021-07-05 20:21:40 +00:00
Patrick Griffis
c77ea5101e Remove Google Cloud Print backend
This service was shut down at the start of 2021
2021-07-05 10:52:31 -05:00
Robert Mader
3e1214bda4 Merge branch 'gtk-3-24-pointer-gestures-version' into 'gtk-3-24'
gdk/wayland: Fix pointer-gestures version selection

See merge request GNOME/gtk!3696
2021-07-05 13:16:18 +00:00
Vlad Zahorodnii
92ba4bf396 gdk/wayland: Fix pointer-gestures version selection
version == GDK_ZWP_POINTER_GESTURES_V1_VERSION will fail if the
compositor implements version 2 of pointer-gestures-v1.
2021-07-05 14:50:59 +02:00
Matthias Clasen
1fa2969a05 Merge branch 'add-support-for-windows-pointer-input-stack-apis' into 'gtk-3-24'
Add support for Windows Pointer Input Stack

See merge request GNOME/gtk!1563
2021-07-03 16:22:33 +00:00
Luca Bacci
712721b60a Add support for Windows Pointer Input Stack
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1563
2021-07-03 16:04:28 +02:00
Alexey Rubtsov
01eb5d41cf Update Russian translation 2021-06-28 11:10:59 +00:00
Chun-wei Fan
88730e81c1 Merge branch 'fix-issue-2019' into 'gtk-3-24'
[Gtk3] GdkWin32: Remove klassTEMPSHADOW

See merge request GNOME/gtk!2749
2021-06-22 06:51:56 +00:00
Matthias Clasen
a9c8b879a4 Merge branch 'wip/otte/for-3-24' into 'gtk-3-24'
cellarea: Don't shrink area too much

See merge request GNOME/gtk!3671
2021-06-16 00:13:43 +00:00
Benjamin Otte
4ba89f25b8 cellarea: Don't shrink area too much
Do not compute rectangles with negative width/height. This avoids
assertion failures further down when those rectangles were actually
checked.

https://bugzilla.redhat.com/show_bug.cgi?id=1962215
2021-06-15 19:34:37 +02:00
Matthias Clasen
447ab4ad0e Merge branch 'quartz-fixes' into 'gtk-3-24'
quartz: fix compilation on macOS 10.10

See merge request GNOME/gtk!3654
2021-06-15 11:11:57 +00:00
Emin Tufan Çetin
47959b5b4a Update Turkish translation 2021-06-15 08:59:44 +00:00
Tom Schoonjans
66b533408d quartz: fix compilation on macOS 10.10 2021-06-12 06:10:54 +01:00
Luca Bacci
f67bf8d892 Wintab: Set the CXO_SYSTEM option
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3860
2021-06-11 19:52:44 +02:00
Luca Bacci
af747315d7 Wintab: set the right device field in the event structure
Even when sends_core is FALSE

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3860
2021-06-11 19:52:43 +02:00
Emmanuele Bassi
90e8d7ff1a Merge branch 'gtk3-a11y-leak' into 'gtk-3-24'
a11y: Fix ref counting in tree views

See merge request GNOME/gtk!3660
2021-06-11 14:12:10 +00:00
Matthias Clasen
21f8098261 a11y: Plug a memory leak with treeviews
We need to explicitly remove the children from
a GtkContainerCellAccessible, since they otherwise
keep the parent alive.

Fixes: #3981
2021-06-11 08:55:48 -04:00
Matthias Clasen
d4f62b44d4 a11y: Fix ref counting in tree views
GtkContainerCellAccessible wasn't unsetting accessible
parents. Fix that.

By itself, this doesn't help for freeing a memory leak,
since AtkObject keeps a ref on its parent, so we never
free the GtkContainerCellAccessible as long as it has children.
2021-06-11 08:53:46 -04:00
Matthias Clasen
6d6d76ecbb Merge branch 'arb_fbo' into 'gtk-3-24'
Switch to GL_ARB_framebuffer_object

See merge request GNOME/gtk!2076
2021-06-08 14:59:05 +00:00
Emmanuele Bassi
43a8655ad0 Merge branch 'glib-main-gtk-3-24' into 'gtk-3-24'
subprojects: Use GLib main branch (3.24)

See merge request GNOME/gtk!3643
2021-06-07 15:06:48 +00:00
Philip Withnall
df9fe56264 subprojects: Use GLib main branch
GLib upstream has renamed its `master` branch to `main`.

See https://gitlab.gnome.org/GNOME/glib/-/issues/2348.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-06-07 14:59:09 +01:00
Aurimas Černius
bfa763a24a Updated Lithuanian translation 2021-06-06 22:52:49 +03:00
Matthias Clasen
c70d23b61f Merge branch 'backport-mr2884-to-gtk-3-24' into 'gtk-3-24'
Backport !2884 to GTK3

See merge request GNOME/gtk!3632
2021-06-06 12:33:08 +00:00
Matthias Clasen
7773c423aa Merge branch 'provide-built-dlls-as-gitlab-ci-artifacts' into 'gtk-3-24'
Provide built DLLs as Gitlab CI artifacts

See merge request GNOME/gtk!3633
2021-06-06 12:32:33 +00:00
Rafael Fontenelle
0ba8d3f87e Update Brazilian Portuguese translation 2021-06-06 08:48:49 +00:00
Matthias Clasen
906eba7288 Merge branch 'imcontext-ignore-more-3' into 'gtk-3-24'
imcontext: Ignore more keysyms

See merge request GNOME/gtk!3636
2021-06-05 02:08:18 +00:00
Matthias Clasen
d7196e5ea8 imcontext: Ignore more keysyms
It finally dawned on my that #3673 is just another
case of unexpected keysyms getting sent our way via
fringe XKB features.

Ignore them all!
2021-06-04 21:30:36 -04:00
Luca Bacci
a14e5778ff Provide built DLLs as Gitlab CI artifacts 2021-06-04 22:42:13 +02:00
Luca Bacci
547ea8b073 Backport 'fix integer overflow in monitor refresh rate calculation' to GTK3
Original MR by Volker Rümelin.

See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2884
2021-06-04 17:44:49 +02:00
Daniel Șerbănescu
5aa878d8e5 Update Romanian translation 2021-06-02 10:03:45 +00:00
Matthias Clasen
854343f8aa Merge branch 'screensaver-async-3' into 'gtk-3-24'
gtkapplication-dbus: Fetch inital screen saver state async

See merge request GNOME/gtk!3614
2021-06-01 19:10:59 +00:00
Guido Günther
72ab4c46ed gtkapplication-dbus: Fetch inital screen saver state async
Avoid a sync call that can make the application block for no good
reason.

Fixes 6f6b5faaa2
2021-06-01 14:32:58 +02:00
Bruce Cowan
1308bc6131 Update British English translation 2021-05-30 11:05:08 +00:00
Piotr Drąg
aeecafc11e Update Polish translation 2021-05-30 13:00:23 +02:00
Jordi Mas
5b8eca222c Update Catalan translation 2021-05-28 22:29:32 +02:00
Daniel Mustieles
e6676432cd Updated Spanish translation 2021-05-27 12:16:11 +02:00
Kukuh Syafaat
1e72ea5a92 Update Indonesian translation 2021-05-27 02:52:04 +00:00
Hugo Carvalho
8c97f0832c Update Portuguese translation 2021-05-26 16:53:18 +00:00
Matej Urbančič
f9fe28cece Update Slovenian translation 2021-05-25 19:45:00 +00:00
Matthias Clasen
f64f335bd6 Merge branch 'ignore-nosymbol-press-3-24' into 'gtk-3-24'
imcontext: Ignore NoSymbol key events

See merge request GNOME/gtk!3593
2021-05-25 18:22:04 +00:00
Matthias Clasen
6baf287c5f imcontext: Ignore NoSymbol key events
These can happen with some XKB options.

Fixes: #3973
2021-05-25 13:42:06 -04:00
Yuri Chornoivan
6930749ad5 Update Ukrainian translation 2021-05-25 16:20:44 +00:00
Piotr Drąg
98e5fc81ed Update POTFILES.in 2021-05-25 16:33:30 +02:00
Yuri Chornoivan
d2ae457378 Update Ukrainian translation 2021-05-25 13:08:17 +00:00
Emmanuele Bassi
26119e5fc0 Merge branch 'filechooser-a11y' into 'gtk-3-24'
Improve FileChooser a11y

See merge request GNOME/gtk!2721
2021-05-25 12:57:12 +00:00
Matthias Clasen
37477a1210 Merge branch 'fix-im-reset-3-24' into 'gtk-3-24'
imcontextsimple: Fix a possible problem

See merge request GNOME/gtk!3586
2021-05-25 12:40:02 +00:00
Matthias Clasen
0952c11bec imcontextsimple: Fix a possible problem
We were forgetting to handle the compose sequence
case in reset().
2021-05-25 08:07:26 -04:00
Matthias Clasen
eff4d45c09 Merge branch 'gtk-3-24+emoji-data-update' into 'gtk-3-24'
Backport Emoji changes to share the same (and newer) emojibase data

See merge request GNOME/gtk!3521
2021-05-14 00:42:04 +00:00
Kjartan Maraas
dc5fcd28fd Update Norwegian Bokmål translation 2021-05-12 13:10:23 +00:00
Kjartan Maraas
49a14a25b3 Update Norwegian Bokmål translation 2021-05-12 12:52:53 +00:00
Yann Dirson
50889d7629 GtkFileChooserDialog: give a accessible name the GtkFileChooserWidget
Using pyatspi.utils.findDescendant() on the GtkFileChooserDialog using
just a role would return the Dialog, as they have the same "file
chooser" role.  So we have to give it a name to distinguish between
them.
2021-05-11 19:34:00 +02:00
Yann Dirson
9673b5a749 GtkFileChooserWidget: give accessible names to GtkStack children
Now that an AT can request apparition of the Location field, this
allows to locate it in the a11y tree.
2021-05-11 19:34:00 +02:00
Yann Dirson
50cbb8f9a2 GtkFileChooserWidget: export a11y action "show_location"
Note that this changes the accessible role of the widget to "file
chooser" instead of "filler".
2021-05-11 19:34:00 +02:00
Yann Dirson
813965fbc5 GtkFileChooserWidget: add a couple of accessible names in .ui file 2021-05-11 19:34:00 +02:00
Quentin PAGÈS
42a69cce2a Update Occitan translation 2021-05-10 19:56:15 +00:00
Emmanuele Bassi
51198cb1e9 Merge branch 'mg/iterator' into 'gtk-3-24'
Hoist iterator variable definition outside of for loop

See merge request GNOME/gtk!3527
2021-05-07 12:27:07 +00:00
Mosè Giordano
fa68804a5b Hoist iterator variable definition outside of for loop
This is compliant with pre-C99 standard.
2021-05-07 12:47:05 +01:00
Emmanuele Bassi
ae0c559c21 Merge branch 'mg/macosx-version-max-allowed' into 'gtk-3-24'
Fix value of `MAC_OS_X_VERSION_MAX_ALLOWED`

See merge request GNOME/gtk!3526
2021-05-07 11:14:18 +00:00
Mosè Giordano
0e14822a22 Fix value of MAC_OS_X_VERSION_MAX_ALLOWED 2021-05-07 11:46:47 +01:00
Marco Trevisan (Treviño)
3177a3b42b emoji: Update data to CLRD v39
This is based on version 6.2.0 of emojibase, containing CLRD 39

http://cldr.unicode.org/index/downloads/cldr-39
https://github.com/milesj/emojibase/blob/b3c9a78/packages/data/CHANGELOG.md
2021-05-06 16:04:25 +02:00
Marco Trevisan (Treviño)
247ed3d14a gtkemojichooser: Use retrocompatible format for saving recent-emoji
Given that the format changed, not to break current user history we can
keep using the old format for saving and reading the emoji-recent
gsettings key, by converting the new data to the old one at save time.

We loose information about the short name (not really relevant), even it
could be saved using the first keyword, but this isn't really relevant.
2021-05-06 16:04:25 +02:00
Marco Trevisan (Treviño)
a1aecd26d5 gtk: Include emoji data when using autotools and msvc build systems
Differently from the meson case, here we just include the emoji data
files into the global gresources file, get_emoji_data() supports this
and it's just easier to handle in these build systems.
2021-05-06 16:03:11 +02:00
Marco Trevisan (Treviño)
accb8e3173 emoji: Use a portable and configuration-dependent path to load the data
Load the emojis data in all the platforms, respecting the configured
GTK_DATA_PREFIX
2021-05-06 15:57:50 +02:00
Matthias Clasen
1a4e368c7e Redo the handling of Emoji data
Use the data files from https://github.com/milesj/emojibase.git
as source for our Emoji data. Slightly change our data format by
adding a group to each item, in both the Emoji data and in the
setting for recent-emoji.

Install translated versions of the data as separate resource
bundles in $prefix/gtk-4.0/emoji, and load them when appropriate.

Currently, we have data for de, en, es, fr, zh, with data taken
from Unicode 13 and CLDR 13.

Fixes: #950 #1511
2021-05-06 15:36:27 +02:00
Matthias Clasen
100ee4ce16 Emoji: Drop the shortname field from emoji.data
Match the name for Emoji completion, and display
it too. 'man worker' looks a lot more natural in
the UI than ':man_worker:'.
2021-05-06 05:22:27 +02:00
Matthias Clasen
32e972e95b Do case-folding and tokenization when creating emoji.data
We can avoid doing the extra work of case-folding and
tokenization whenever we filter in the Emoji chooser.
2021-05-06 05:22:27 +02:00
Matthias Clasen
78cc9113c1 emoji: Add keywords to the data
And use them for matching in the Emoji chooser.
2021-05-06 05:22:26 +02:00
Matthias Clasen
cb32ff5b18 emoji: Some work on the conversion tool
Document the variant format, and write out json
format if asked to.
2021-05-06 05:22:26 +02:00
Matthias Clasen
bfad7693bf emojichooser: Allow inserting multiple Emoji
Don't close the Emoji chooser when the Control
key is held while clicking. So you can insert
multiple Emoji without having to reopen the
chooser every time.

Fixes: #1002
2021-05-06 05:22:26 +02:00
Matthias Clasen
71bcecbc8d emoji chooser: Fix handling of no recent Emoji
If the recent section is empty, we want to hide
it, make its button insensitive, and select the
next section, initially. This was not working
properly, since nothing was ever setting the
section box to invisible.
2021-05-06 05:22:26 +02:00
Marco Trevisan (Treviño)
30835d7a86 gtkemojichooser: Do not leak the data loaded from resources
This was part of commit 67e6d1087 but not of gtk3 branch in commit
9cde2186.
2021-05-06 05:22:26 +02:00
Matthias Clasen
0fc99afa25 Merge branch 'wl-phys-transform-3-24' into 'gtk-3-24'
gdk/wayland: Take transform into account when setting physical size

See merge request GNOME/gtk!3517
2021-05-05 18:38:34 +00:00
Guido Günther
8c0b11998d gdk/wayland: Take transform into account when setting physical size
Width and height of a GdkMonitor are derived via wl_output which
talks about physical dimensions of a device and compositors usually
implement this as the untransformed values (e.g. weston, wlroots).

Since the GTK client has no way to figure out if a monitor was rotated,
transform the physical dimensions according to the applied wayland
transform to have the physical dimensions match the logical ones.

Mutter flips the physical dimensions itself but doesn't announce the
transform so this shouldn't break anything there.
2021-05-05 18:09:07 +02:00
Matthias Clasen
fa70d08387 Merge branch 'quartz-drag-crash' into 'gtk-3-24'
Ensure gdk_quartz_drag_source freed on all paths.

See merge request GNOME/gtk!3498
2021-05-04 16:17:13 +00:00
John Ralls
a6c3887736 Ensure gdk_quartz_drag_source freed on all paths.
New release function _gdk_quartz_drag_source_context_destroy_gtk_only
gets called when drag fails to start or is cancelled as well as
when it successfully completes.
2021-05-04 08:33:56 -07:00
Matthias Clasen
414cd74d20 Merge branch 'mesa.win32-3.24' into 'gtk-3-24'
gdkglcontext-win32.c: Fix running with Mesa drivers

See merge request GNOME/gtk!3482
2021-05-02 22:43:30 +00:00
Мирослав Николић
27dad4b90a Update Serbian translation 2021-05-01 14:37:55 +00:00
Pawan Chitrakar
c721959d31 Update Nepali translation 2021-04-30 04:56:42 +00:00
Timm Bäder
bf4290a330 Merge branch 'wip/hadess/box-guards' into 'gtk-3-24'
box: Fix guards not working

See merge request GNOME/gtk!3485
2021-04-29 15:03:02 +00:00
Chun-wei Fan
1b1dee86a5 gdkglcontext-win32.c: Fix running with Mesa drivers
Some GL drivers such as Mesa-D3D12 do not allow one to call SetPixelFormat() on
a given HDC if one pixel format has been already set for it, so first check the
HDC with GetPixelFormat() to see whether a pixel format has already been set
with the HDC, and only attempt to acquire the pixel format if one has not been
set.

This will fix running with GL on Windows using the Mesa drivers.
2021-04-29 12:17:58 +08:00
Bastien Nocera
44aa328dc3 box: Fix guards not working
The guards weren't working because we were accessing data inside the
arguments before checking them. Postpone data access until after the
guards.

0x00007ffff741203c in gtk_box_pack (box=box@entry=0x0, child=0xe0b1b0, expand=expand@entry=0, fill=fill@entry=0, padding=padding@entry=0, pack_type=pack_type@entry=GTK_PACK_START)
    at /usr/src/debug/gtk3-3.24.28-2.fc34.x86_64/gtk/gtkbox.c:1530
1530	  GtkBoxPrivate *private = box->priv;
(gdb) bt
 #0  0x00007ffff741203c in gtk_box_pack (box=box@entry=0x0, child=0xe0b1b0, expand=expand@entry=0, fill=fill@entry=0, padding=padding@entry=0, pack_type=pack_type@entry=GTK_PACK_START)
     at /usr/src/debug/gtk3-3.24.28-2.fc34.x86_64/gtk/gtkbox.c:1530
 #1  0x00007ffff741223c in gtk_box_pack_start (box=box@entry=0x0, child=<optimized out>, expand=expand@entry=0, fill=fill@entry=0, padding=padding@entry=0)
     at /usr/src/debug/gtk3-3.24.28-2.fc34.x86_64/gtk/gtkbox.c:2179
2021-04-28 23:44:20 +02:00
Jordi Mas
e024a542b0 Update Catalan translation 2021-04-25 21:47:01 +02:00
Pawan Chitrakar
8d87d1b2a4 Update Nepali translation 2021-04-25 16:19:17 +00:00
Matthias Clasen
77f32a69c0 3.24.29 2021-04-22 22:47:50 -04:00
Matthias Clasen
1dc428dc3e Fix distcheck 2021-04-22 22:47:16 -04:00
Matthias Clasen
9b0eec55aa Merge branch 'listbox-extend' into 'gtk-3-24'
Allow GtkListBox multiple selection to be extended repeatedly

See merge request GNOME/gtk!3459
2021-04-23 02:47:05 +00:00
Matthias Clasen
d6c45d0e17 imcontext: Fix cursor positions
gtk_im_context_get_preedit_string is documented to
return the cursor position as a character offset,
not a byte count. So return that.

Fixed: #3885
2021-04-22 21:33:59 -04:00
John Renner
42d4e6de51 Fix extend selection behavior in ListBox 2021-04-22 16:30:12 -07:00
Matthias Clasen
5e673e94de Merge branch 'icon-browser-icon' into 'gtk-3-24'
iconbrowser: Don't use a nonexistent icon

See merge request GNOME/gtk!3466
2021-04-22 10:59:51 +00:00
Matthias Clasen
b1a34e0b0c Merge branch 'gtk3-compose-modifiers' into 'gtk-3-24'
imcontextsimple: Ignore more modifiers in compose (gtk3)

See merge request GNOME/gtk!3469
2021-04-22 10:57:02 +00:00
Ulli Kehrle
d3a564d4f9 imcontextsimple: Ignore more modifiers in compose
Previously it was impossible to compose characters on higher levels of
some keyboard layouts as pressing the level selection key would just
exit compose mode.

Examples for affected keyboard layouts include the Latvian
apostrophe-variant "lv(apostrophe)" (latched third level), the extended
German keyboard layout "de(e1)" (latched fifth level) as well as the
multilingual Canadian keyboard layout "ca(multix)" and the German
neo-layout "de(neo)" and its descendants (shifted fifth level).

To reproduce, set a compose key and select the Latvian apostrophe layout.
Notice that you now can input [ by pressing first the ' and then the 8-key.
Then pressing <compose>'8'8 should produce ⟦, but prior to this patch it
did not.
2021-04-22 03:53:49 +02:00
Matthias Clasen
a7a10aa63f iconbrowser: Don't use a nonexistent icon
We don't have this icon, so don't put it in the
desktop file, or tools will get upset.
2021-04-21 15:16:43 -04:00
Matthias Clasen
8bbaa7d092 Merge branch 'wip/oholy/placesview-default-location-regression-gtk-3-34' into 'gtk-3-24'
placesview: Open location even if mount was not found

See merge request GNOME/gtk!3465
2021-04-21 15:36:39 +00:00
Ondrej Holy
4fe7b3ec25 placesview: Open location even if mount was not found
Some locations have to be mounted, but their mounts are not user-visible
(e.g. smb-browse). Though this is maybe a bit weird, it is how it works
for years. The problem is that the commit 267ea755, which tries to get the
default location for opening, caused regression as it doesn't expect such
possibility. Before this commit, such locations were opened without any
issue, but nothing happens currently after clicking to "Connect" except of
clearing the "Connect to Server" entry. Let's fallback to the original
location if the mount was not found to fix this regression.

Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1811
2021-04-21 15:33:34 +02:00
Matthias Clasen
ca6794b2d8 Merge branch 'untrusted-beep-3' into 'gtk-3-24'
x11: Don't beep on untrusted displays

See merge request GNOME/gtk!3462
2021-04-21 10:12:19 +00:00
Matthias Clasen
9c84f7645e x11: Don't beep on untrusted displays
This can trigger BadAccess, and we don't
want that.

Fixes: #3862
2021-04-20 21:41:48 -04:00
Matthias Clasen
c714739759 Merge branch 'fix-uri-crash-3' into 'gtk-3-24'
Fix a possible crash in gtk_show_uri

See merge request GNOME/gtk!3458
2021-04-19 23:25:15 +00:00
Matthias Clasen
536da7a15c Fix a possible crash in gtk_show_uri
g_file_get_basename can return NULL.
Deal with it somehow.

Fixes: #3883
2021-04-19 16:52:55 -04:00
Matthias Clasen
191433bf0a Merge branch 'fix-non-overlay-scrollbars-3' into 'gtk-3-24'
scrolledwindow: Always add other scrollbar size...

See merge request GNOME/gtk!3456
2021-04-19 19:21:53 +00:00
Timm Bäder
25879ea37e scrolledwindow: Always add other scrollbar size...
... if we're not using indicators and the policy may be visible. Not
doing this if the policy may be invisible is incorrect as we need to
reserve the space anyway in case the scrolledwindow is allocated at
minimum size and the child size increases to show the scrollbar.
2021-04-19 14:43:01 -04:00
Matthias Clasen
610f52b125 Merge branch 'cocoa-access-header' into 'gtk-3-24'
Add a public header for Cocoa access functions.

See merge request GNOME/gtk!3450
2021-04-17 00:28:16 +00:00
John Ralls
242b76a771 Add a public header for Cocoa access functions.
Some applications need to access gdk_quartz_window_get_nsview,
gdk_quartz_window_get_nswindow, and gdk_quartz_event_get_nsevent
so move these from the private gdkquartz-gtk-only.h to a new
header gdkquartz-cocoa-access.h. Don't include this header in
gdkquartz.h so that user code that doesn't need to access these
functins isn't required to compile with Objective C/C++.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/1737
2021-04-16 16:56:55 -07:00
Matthias Clasen
3a70781d40 Merge branch 'fix_elcapitan_support' into 'gtk-3-24'
Fix building on OS X El Capitan 10.11

See merge request GNOME/gtk!3402
2021-04-16 20:02:09 +00:00
Matthias Clasen
399356833d Merge branch 'cups-local-printer-2.2-only' into 'gtk-3-24'
Don't try to create local cups printers before CUPS 2.2

See merge request GNOME/gtk!3448
2021-04-16 19:45:11 +00:00
John Ralls
3d53204c75 Don't try to create local cups printers before CUPS 2.2
Not supported on earlier versions.
2021-04-16 12:17:11 -07:00
Matthias Clasen
3aa742d715 overlay: Clarify pass-through docs
Explain that widgets with their own windows need to
have gdk_window_set_pass_through called on them.

Fixes: #3861
2021-04-16 11:15:05 -04:00
Matthias Clasen
a1aa4a970d Merge branch 'latest.glib.msvc-3' into 'gtk-3-24'
GTK-3.x: Fix builds against latest stable GLib with Visual Studio

See merge request GNOME/gtk!3445
2021-04-16 12:37:52 +00:00
Matthias Clasen
a0a18a7b02 Merge branch 'pre.c99' into 'gtk-3-24'
gtkimcontextsimple.c, updateiconcache.c: Fix build on older compilers

See merge request GNOME/gtk!3444
2021-04-16 12:12:56 +00:00
Chun-wei Fan
b69790a776 gtkimcontextsimple.c: Declare variables at top-of-block
This way, things will continue to build on older compilers
2021-04-16 15:38:17 +08:00
Chun-wei Fan
da651ca7fc update-icon-cache.c: Declare variables at top-of-block
This way, things will continue to build on older compilers
2021-04-16 15:36:58 +08:00
Chun-wei Fan
35fee660ff gtkcsscustomgadget.c: Fix build with latest stable GLib with MSVC
This eliminates the C4098 warnings ('void' function returning a value),
which is considered by GLib-2.68.x or later to be an error.
2021-04-16 15:28:28 +08:00
Chun-wei Fan
416e6b9cdd gdkglcontext-win32.c: Avoid C4715 warning
We can just group the code for the desktop GL codepath and the EGL
codepath a bit so that we can just have a single location where we
return TRUE upon a successful setup of our WGL/EGL context, and avoid
the C4715 warning that is considered an error when building with
GLib-2.68.x or later using Visual Studio, when we are building without
EGL support.
2021-04-16 15:08:41 +08:00
Matthias Clasen
915d0b39a9 Merge branch 'im-context-event-leak-3' into 'gtk-3-24'
imcontext: Eat key events during preedit

See merge request GNOME/gtk!3442
2021-04-15 22:21:51 +00:00
Matthias Clasen
d9a3e07b7f Merge branch 'demo-manpages-3.24' into 'gtk-3-24'
[3.24] meson: only build demo manpages when demos are enabled

See merge request GNOME/gtk!3439
2021-04-15 22:17:22 +00:00
Matthias Clasen
a926f217d7 imcontext: Eat key events during preedit
Avoid passing through random key press or release
events while we are showing preedit. That prevents
'accidents' like typing Ctrl-. bringing up the
Emoji chooser during preedit, or hitting Ctrl-a
after the Compose key moving the 'dot' around in
vim in terminals.
2021-04-15 17:46:19 -04:00
Matthias Clasen
4334f9613b Merge branch 'x11-quiet-exit-3' into 'gtk-3-24'
x11: Be quiet on exit by default

See merge request GNOME/gtk!3437
2021-04-14 10:50:24 +00:00
Eli Schwartz
ae5a29be4f meson: only build demo manpages when demos are enabled
Installing them even when manpages are enabled, but the demos are
disabled, produces manpages for unavailable programs...
2021-04-13 22:48:39 -04:00
Matthias Clasen
c3503fcc84 x11: Be quiet on exit by default
The condition we check for to catch X servers going away
may not be accurate anymore, and the warning shows up in
logs, causing customers to be concerned. So, be quiet by
default, unless the user explicitly asked for a message.
2021-04-13 20:42:21 -04:00
Matthias Clasen
222c6c66ab Merge branch 'fontchooser-since-fix' into 'gtk-3-24'
fontchooser: Fix some since annotations

See merge request GNOME/gtk!3428
2021-04-12 05:07:44 +00:00
Matthias Clasen
3fb5890e69 fontchooser: Fix some since annotations
The "level", "font-features" and "language" were annotated
with the wrong version.

Fixes: #1830
2021-04-11 23:22:46 -04:00
Matthias Clasen
5b13ae1b2e Merge branch 'ebassi/hvbox-docs' into 'gtk-3-24'
docs: Remove any reference to GtkGrid in Gtk[HV]Box

See merge request GNOME/gtk!3422
2021-04-11 13:14:33 +00:00
Matthias Clasen
728d6cd538 Merge branch 'fix-scale-critical' into 'gtk-3-24'
scale: Fix sporadic criticals

See merge request GNOME/gtk!3421
2021-04-11 13:14:21 +00:00
Emmanuele Bassi
3377dc7d40 docs: Remove any reference to GtkGrid in Gtk[HV]Box
GtkBox is not going away, so there's not point in making things more
confusing for those who are still porting their code from GTK2 to GTK3
10 years after GTK 3.0 was released.

Fixes: #3854
2021-04-10 23:57:03 +01:00
Matthias Clasen
eaabc3722e scale: Fix sporadic criticals
gtk_css_node_update_layout_attributes can cause us to
free priv->layout, and then bad things happen. Therefore,
we must call that function on a new layout *before* setting
priv->layout.
2021-04-10 10:07:55 -04:00
Matthias Clasen
3cfd1e1f52 Merge branch 'ceo_of_programming-gtk-3-24-patch-54089' into 'gtk-3-24'
Fix typo on gtklistbox.c's docs

See merge request GNOME/gtk!3418
2021-04-10 12:59:12 +00:00
CEO of Programming
475a4c8262 Update gtklistbox.c 2021-04-10 01:04:05 +00:00
Pawan Chitrakar
8b74d5f966 Update Nepali translation 2021-04-09 17:41:07 +00:00
Pawan Chitrakar
b7cb281879 Update Nepali translation 2021-04-09 17:13:05 +00:00
Matthias Clasen
550b7fe8b2 Merge branch 'font-settings-fallback' into 'gtk-3-24'
wayland: Improve font setting fallback more

See merge request GNOME/gtk!3409
2021-04-07 18:58:21 +00:00
Matthias Clasen
dfea8c31d9 wayland: Improve font setting fallback more
We may get a response from the portal that contains
no useful settings at all. In that case, we should
fallback as well.

Fixes: #3838
2021-04-07 14:30:48 -04:00
Matthias Clasen
c3280c6b3c Merge branch 'font-settings-fallback' into 'gtk-3-24'
wayland: Improve font setting fallback

See merge request GNOME/gtk!3406
2021-04-07 14:04:12 +00:00
Matthias Clasen
a3ff6e279c wayland: Improve font setting fallback
When we don't get stettings from the portal, the current
fallback is 'awful fonts'. There is no need for that. Instead,
set the fallback values to grayscale antialiasing with slight
hinting.
2021-04-07 08:43:08 -04:00
René de Hesselle
8627a9a569 Fix building on OS X El Capitan 10.11
The preprocessor directives for proper OS version support are missing
their last digit, rendering the checks defunct.

Improves on https://gitlab.gnome.org/GNOME/gtk/-/issues/3592 but does
not fully fix as other issues have surfaced down the line.
2021-04-05 22:20:25 +02:00
Chao-Hsiung Liao
d03bf414ce Update Chinese (Taiwan) translation 2021-04-04 00:10:24 +00:00
Nathan Follens
98bf543af2 Update Dutch translation 2021-04-02 14:20:15 +00:00
Matthias Clasen
6a60ce7cd4 Merge branch 'us-intl-compose-for-3' into 'gtk-3-24'
Revert Compose sequence changes

See merge request GNOME/gtk!3387
2021-04-01 20:51:31 +00:00
Matthias Clasen
ed9b3f5057 Revert Compose sequence changes
This was breaking muscle memory of people with
the us intl keyboard layout, for important keys
such as '. The unfortunate side-effect is that
our handling of <dead_acute> is a bit hampered
by sequences that don't fit the pattern. But
such is life.

Fixes: #3807
2021-04-01 15:52:12 -04:00
Carlos Garnacho
0ec077bcdc Merge branch 'wip/exalm/overshoot-changes-gtk3' into 'gtk-3-24'
scrolledwindow: Cancel overshoot on dimension changes

See merge request GNOME/gtk!3333
2021-04-01 12:14:10 +00:00
Alexander Mikhaylenko
27d38eca9a scrolledwindow: Cancel overshoot on dimension changes
If we scroll down in a list that's still being filled, we hit the edge and
initiate overshoot, and then the adjustment's upper value increases. This
leads to an unwanted bounce back.

Additionally, if in a similar situation the upper value decreases, the
overscroll glow gets stuck.

Update kinetic scrolling upper and lower value on changes, and immediately
cancel it if dimensions on that side change.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3752
2021-04-01 16:37:03 +05:00
Jonas Ådahl
4ac8889d64 Merge branch 'issue3791' into 'gtk-3-24'
gdk/wayland: Defer processing of globals closures

See merge request GNOME/gtk!3357
2021-03-30 13:40:17 +00:00
Robert Mader
86ef0e6094 gdk/wayland: Defer processing of globals closures
... until all globals have been received.

The dependency tracking introduced in 4e9be39518 only allows to
specify required globals and processes the closures as soon as
the requirements have been met. There are, however, also optional
dependencies - most notably the primary_selection protocol.
Currently we rely on the fact that compositors like Mutter announce
it before `wl_seat`, even though the order is not specified in
the spec.

Process globals closures only after all globals have been announced,
so optional dependencies can be accommodated.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/3791
2021-03-30 15:10:04 +02:00
Matthias Clasen
9a2382bebc Merge branch 'spinbutton-localized-digits-3' into 'gtk-3-24'
spinbutton: Interpret localized digits

See merge request GNOME/gtk!3369
2021-03-30 02:37:41 +00:00
Matthias Clasen
fa69e5f42d spinbutton: Interpret localized digits
Interpret input where the characters have numeric values.

See #3387
2021-03-29 22:10:06 -04:00
Matthias Clasen
162243c7ce Merge branch 'fix-large-text-3' into 'gtk-3-24'
label: Fix reacting to screen resolution changes

See merge request GNOME/gtk!3368
2021-03-30 01:28:37 +00:00
Matthias Clasen
316aa85b8d label: Fix reacting to screen resolution changes
Labels were not reacting when the screen resolution
changes, as e.g. when turning "Large Text" on of off.
2021-03-29 20:48:15 -04:00
Matthias Clasen
ba8c18019d imcontext: Look for Compose file in the right place
The documentation states that GTK will load a Compose
file from ~/.config/gtk-3.0/Compose. Unfortunately,
backports changed this unintentionally to look in
the gtk-4.0 directory. Change it back.
2021-03-29 18:31:23 -04:00
Anders Jonsson
d8fb8db37c Update Swedish translation 2021-03-27 21:11:16 +00:00
Matthias Clasen
71c64e650d Merge branch 'gtk-3-24-minimize-no-decorations' into 'gtk-3-24'
GDK quartz: Keep window without decoration miniaturizable

See merge request GNOME/gtk!3281
2021-03-27 03:32:07 +00:00
Matthias Clasen
23db350889 3.24.28 2021-03-26 21:54:29 -04:00
Matthias Clasen
3c6d96980f Fix make dist 2021-03-26 21:54:29 -04:00
Matthias Clasen
4c7944175f Merge branch 'double-dead-keys-3' into 'gtk-3-24'
Double dead keys 3

See merge request GNOME/gtk!3354
2021-03-27 01:11:20 +00:00
Matthias Clasen
8c7846733a imcontext: Tweak dead key handling
Reshuffle things to allow for a limited amount of
dead key 'chaining'. We keep up to 2 dead keys in
the preedit, so you can type
<dead_acute> <dead_cedilla> <c>
to produce ḉ, while still getting ```c with
<dead_grave> <dead_grave> <dead_grave> <c>.
2021-03-26 20:42:24 -04:00
Matthias Clasen
58b3145c90 composetable: Limit algorithmic checking
Only check for combinations of up to 2 dead keys with
a base character. We don't want to spend ages generating
all permutations of long sequences.
2021-03-26 20:28:14 -04:00
Matthias Clasen
da7a511aa2 Merge branch 'fix-ding-119' into 'gtk-3-24'
cssshadowvalue: Apply device scale to the offset when blurring text

See merge request GNOME/gtk!3343
2021-03-24 11:24:21 +00:00
Daniel van Vugt
86da4e0c97 cssshadowvalue: Apply device scale to the offset when blurring text
Although the surface already has the device scale set, that doesn't
apply to the offset which is in raw device units. So we need to scale
the device offset explicitly.

Fixes: https://gitlab.com/rastersoft/desktop-icons-ng/-/issues/119
2021-03-24 18:37:12 +08:00
Matthias Clasen
c22d4a6657 Merge branch 'issue3715-gtk3' into 'gtk-3-24'
[gtk3] x11/dnd: Ignore XErrors from the COW

See merge request GNOME/gtk!3335
2021-03-22 15:05:01 +00:00
Olivier Fourdan
39db784704 x11/dnd: Ignore XErrors from the COW
The DnD code for X11 adds the composite overlay window (aka COW) to the
cache.

Yet the X11 requests to get and release the COW may trigger XErrors that
we ought to ignore otherwise the client will abort.

Fixes: #3715
2021-03-22 15:35:13 +01:00
Matthias Clasen
0f5ae95460 Merge branch 'better-dead-keys-3' into 'gtk-3-24'
Better dead keys 3

See merge request GNOME/gtk!3330
2021-03-22 02:48:30 +00:00
Matthias Clasen
59397005fa Regenerate compose sequence file
Update our compose sequences based on the current
update xorg Compose.pre file. Beyond that, remove
some deadkey sequences that we are now handling
(better) in code.
2021-03-21 22:11:37 -04:00
Matthias Clasen
41c3e9873c Move compose related tooling to a subdir
This reduces the clutter in gtk/.
2021-03-21 22:11:27 -04:00
Matthias Clasen
7b3c387af9 compose-parse: Add a negative lookaside
Make this script parse gtk-compose-remove.txt for
sequences to remove from the xorg Compose file.
This will be used for removing some deadkey combinations
that we can handle better in code.

Also, make this script explicitly python2. I tried
porting it to python3, but gave up in the end.
2021-03-21 22:11:16 -04:00
Matthias Clasen
a0cdd25bd4 imcontext: Improve dead key handling more
For sequences like ``, we want to commit the first
deadkey and then continue preedit with the second.

The alternative is to do chained deadkeys, where
entering ~~a yields ̃̀̃̃a. But we don't do that, and
I think that would be more controversial.
2021-03-21 22:09:56 -04:00
Matthias Clasen
c26525f87c imcontext: Improve dead key handling
For sequences like `x, where we don't have a compose
sequence, we still want to commit "`x", and not silently
eat the keys.
2021-03-21 22:09:41 -04:00
Марко Костић
5b0a14410d Update Serbian translation 2021-03-19 06:31:48 +00:00
Matthias Clasen
f1f5cbd88e Merge branch 'fix-wayland-keyboard-layout' into 'gtk-3-24'
wayland: Pass layout information in key events

See merge request GNOME/gtk!3302
2021-03-15 19:57:34 +00:00
Matthias Clasen
1ce5494ffd wayland: Pass layout information in key events
We were always setting group to 0, causing accelerator
interpretation to always go off the first configured
layout, not the active one.

Fixes: #1825
2021-03-15 14:48:05 -04:00
Matthias Clasen
5edac966e4 Merge branch 'ebassi/reproducible-icon-cache' into 'gtk-3-24'
Reproducible icon cache

See merge request GNOME/gtk!3293
2021-03-13 18:07:01 +00:00
Bernhard M. Wiedemann
850768270f updateiconcache: Sort list of entries
because filesystem readdir order is indeterministic.

Without this patch, building openSUSE's balsa package
had variations between builds in /usr/share/balsa/icon-theme.cache

(cherry picked from commit b364827a5b)
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2021-03-13 15:12:18 +00:00
Matthias Clasen
c7df3b9e97 3.24.27 2021-03-12 10:41:57 -05:00
Matthias Clasen
b94955e614 Merge branch 'gdk-win32-use-window-from-point-api' into 'gtk-3-24'
GdkWin32: Fix mouse events in presence of transparent windows on the desktop

See merge request GNOME/gtk!2767
2021-03-11 01:10:20 +00:00
Cédric Krier
238bb38249 Keep window without decoration miniaturizable
Closes #2345
2021-03-10 16:08:14 +01:00
Tim Sabsch
c8dbe02850 Update German translation 2021-03-08 17:59:25 +00:00
Tim Sabsch
84337f7758 Update German translation 2021-03-08 17:47:11 +00:00
Rūdolfs Mazurs
a3c8214fb5 Update Latvian translation 2021-03-07 18:44:43 +00:00
Matthias Clasen
9216fe2cc0 Merge branch 'fix-wintab-whlrot-gtk-3-24' into 'gtk-3-24'
WinTab - Add support for Wheel/Rotation axis

See merge request GNOME/gtk!3249
2021-03-06 19:26:45 +00:00
Changwoo Ryu
60a714a25f Update Korean translation 2021-03-06 18:11:19 +00:00
Knuckx
d7d6098281 WinTab - Add support for Wheel/Rotation axis - Rebase and fix conflicts for merge 2021-03-05 23:35:29 +00:00
Matthias Clasen
79757da2a9 Merge branch 'fix-label-link-activate' into 'gtk-3-24'
label: Skip updating link state if we have no layout

See merge request GNOME/gtk!3262
2021-03-05 20:30:38 +00:00
Timm Bäder
bfe0f7dd4d label: Skip updating link state if we have no layout
This can happen whenever the ::activate-link handler sets different
markup on the label, causing all links to be recreated. In this case,
the GtkLabelLink* passed to emit_activate_link is garbage after the
g_signal_emit call and we shouldn't try to do anything with it.

Fixes #1498
2021-03-05 14:56:20 -05:00
Steven Calwas
86d38e6ae2 Fix window unresponsive to mouse after app-switch w/drawing tablet
Partially fixes issue #2191 regarding switching to another app while
hovering a stylus over a drawing tablet causes subsequent mouse
clicks in the app to be ignored. I was not able to reproduce the
other behavior described in #2191 concerning tiling a window.
2021-03-05 14:37:29 -05:00
Matthias Clasen
b64d888288 Merge branch 'wip/exalm/window-shadow-dark-3' into 'gtk-3-24'
Adwaita: Use transparent black for window border in dark too

See merge request GNOME/gtk!3260
2021-03-05 19:35:26 +00:00
Matthias Clasen
94befed65f Merge branch 'issue1549' into 'gtk-3-24'
Handle Wintab cursors that are recognized after GDK app init

See merge request GNOME/gtk!2458
2021-03-05 18:53:42 +00:00
Alexander Mikhaylenko
d70fa89bdf Adwaita: Use transparent black for window border in dark too
Avoid smear when the background behind the window is dark. Adjust opacity
to make it appear roughly the same as before on white background.
2021-03-05 22:43:49 +05:00
Matthias Clasen
782bbca52c Merge branch 'mutter-css-crash-fix' into 'gtk-3-24'
Adwaita: Ensure SSD decorations do not change size when losing focus

See merge request GNOME/gtk!3256
2021-03-05 15:47:08 +00:00
Sebastian Keller
392e52187d Adwaita: Ensure SSD decorations do not change size when losing focus
56f6ac5f introduced a 20px shadow for the '.tiled decoration:backdrop'
selector. This selector is more specific than the '.ssd decoration'
selector and caused unfocused tiled SSD windows to have a shadow that
focused ones did not have. The mutter code however assumes that the size
of the decoration does not change between the states and this was
causing a crash when clicking below the titlebar in unfocused tiled SSD
windows.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3716
2021-03-05 00:36:15 +01:00
Matthias Clasen
57cc7dce81 Merge branch 'wip/exalm/scroll' into 'gtk-3-24'
Revert "Add scaling adjustment for touch dragging a scrolled window"

See merge request GNOME/gtk!3251
2021-03-03 12:00:14 +00:00
Alexander Mikhaylenko
d0cf3007c6 Revert "Add scaling adjustment for touch dragging a scrolled window"
This reverts commit d4943ef2fb.

This commit has broken scrolling in GtkTreeView. VTE has
`scroll-unit-pixels` property now, so the original issue is fixed
separately.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3707
2021-03-03 15:04:41 +05:00
Baurzhan Muftakhidinov
48768bd3ae Update Kazakh translation 2021-03-02 03:38:08 +00:00
Matthias Clasen
19b8013618 Merge branch 'fix-leak-of-event-structures' into 'gtk-3-24'
GdkWin32: fix leak of event structures

See merge request GNOME/gtk!3245
2021-03-02 00:37:32 +00:00
Luca Bacci
fa2ae10599 Fix leak of event structures
Inside generate_button_event, if _gdk_input_ignore_core is > 0 we
leak an event structure. Fix that.
2021-03-01 10:51:38 +01:00
Emin Tufan Çetin
48de9796c2 Update Turkish translation 2021-02-25 14:26:26 +00:00
Sabri Ünal
fcd083af14 Update Turkish translation 2021-02-25 13:48:29 +00:00
Źmicier Turok
88eaffc207 Update Belarusian translation 2021-02-25 09:29:42 +00:00
Źmicier Turok
85315ea457 Update Belarusian translation 2021-02-25 09:13:07 +00:00
Matthias Clasen
5ec5359981 Merge branch 'libreoffice-input-fix' into 'gtk-3-24'
imcontext: Fixes to the state machine

See merge request GNOME/gtk!3239
2021-02-24 22:27:57 +00:00
Matthias Clasen
7b6f627666 imcontext: Fixes to the state machine
It turns out that we we were sometimes emitting
preedit-end multiple times, and sometimes not at
all. Same for preedit-start. To fix this up, introduce
a in_compose_sequence flag, maintain it, and use it
in the right places.

After these changes, both

C-S-u 1 2 3 Enter
Compose a e

generate the right signals:

preedit-start, preedit-changed,..., preedit-end, commit
2021-02-24 14:15:33 -05:00
Matthias Clasen
953d35b225 3.24.26 2021-02-24 14:13:46 -05:00
Fran Dieguez
659b23b7c6 Updated Galician translations 2021-02-24 01:53:47 +01:00
Emmanuele Bassi
1a878b2b88 docs: Fix closing tag
The XML validator took way too long.
2021-02-23 19:25:42 +00:00
Emmanuele Bassi
b189d842dd docs: Remove mentions of decommissioned services
We don't use Bugzilla or mailing list any more.
2021-02-23 17:37:00 +00:00
Chun-wei Fan
22391f42b8 Visual Studio projects: Set GTK_HOST appropriately
This will make GTK_HOST defined more like what it is on Meson builds, so that
we set the host string appropriately according to the build that is being
carried out, instead of defaulting to i686-pc-vsXX for all builds.

Like the previous commit on win32/config-msvc.mak.in, this now sets GTK_HOST
to be:

i686-pc-vsXX for 32-bit x86 builds
x86_64-pc-vsXX for x64 builds
aarch64-pc-vsXX for ARM64 builds (requires VS2017 15.9.x or later)
2021-02-23 17:48:53 +08:00
Chun-wei Fan
c3b9f56121 win32/gtk-introspection-msvc.mak: Prepare for ARM64 builds
Currently, introspection is not well-supported for ARM64 Windows builds as:

* There is no official Python release for ARM64 Windows, but it is currently
  possible to build it with sufficient support for G-I, however...

* The tooling in Python still needs to be updated to enable ARM64 Windows
  builds for use with g-ir-scanner and friends, and...

* Introspection builds must be done on an ARM64 system, since we are running a
  dumper binary to generate the .gir files

This will attempt to prepare things for building GTK's introspection files on
Windows ARM64, but will require a custom installation of Python as noted above,
for the time being
2021-02-23 17:48:53 +08:00
Chun-wei Fan
07e06fb4dd win32/config-msvc.mak: Don't hardcode GTK_HOST to i686-pc-vsXX
Instead, rely on the mechanism that we already have to set the platform string
appropriately, eg:

i686-pc-vsXX for 32-bit x86 builds
x86_64-pc-vsXX for x64 builds
aarch64-pc-vsXX for arm64 builds
2021-02-23 17:48:53 +08:00
Chun-wei Fan
935691f94c win32/detectenv-msvc.mak: Add linker flag for ARM64
This prepares things better for ARM64 (aarch64) Windows builds, to make things
more complete and comparable to x64 and x86 builds.
2021-02-23 17:48:53 +08:00
Źmicier Turok
4d6f110ca2 Update Belarusian translation 2021-02-23 09:11:08 +00:00
Źmicier Turok
9227d9c30f Update Belarusian translation 2021-02-23 09:09:40 +00:00
Chun-wei Fan
508036f745 Visual Studio 201x projects: Fix generating gtk+-win32-3.0.pc
The copy command to copy gtk+-win32-3.0.pc from gtk+-3.0.pc was mistakenly
done to copy gtk+-3.0.pc two times.  Oops... :|
2021-02-23 16:39:32 +08:00
Ask Hjorth Larsen
9c9805dff8 Revert "Updated Danish translation"
Update applies only to other branch

This reverts commit 8b0001876b.
2021-02-23 01:30:56 +01:00
Ask Hjorth Larsen
8b0001876b Updated Danish translation 2021-02-23 01:26:19 +01:00
Matthias Clasen
ef340ea616 Merge branch 'compose-warning-3' into 'gtk-3-24'
imcontext: Take out the warnings

See merge request GNOME/gtk!3231
2021-02-22 21:06:26 +00:00
Matthias Clasen
db1cb04896 imcontext: Take out the warnings
Don't warn about Compose file constructs we don't
support. We haven't supported these for a long time,
and nobody has every complained. No need to wake
up sleeping dogs.
2021-02-22 15:18:25 -05:00
Emin Tufan Çetin
4f81b5cd91 Update Turkish translation 2021-02-21 18:05:31 +00:00
Emin Tufan Çetin
f297e9198d Update Turkish translation 2021-02-21 18:02:23 +00:00
Emin Tufan Çetin
b56ce02e0c Update Turkish translation 2021-02-21 18:00:49 +00:00
Emin Tufan Çetin
aae92380a1 Update Turkish translation 2021-02-21 13:39:39 +00:00
Emmanuele Bassi
c06a593b57 Merge branch 'type-int-cairo-format' into 'gtk-3-24'
Use the proper cairo.Format type instead of overriding to gint via annotations...

See merge request GNOME/gtk!3228
2021-02-20 11:49:11 +00:00
Sebastian Dröge
ac69c05a31 Use the proper cairo.Format type instead of overriding to gint via annotations in gdk_window_create_similar_surface() 2021-02-20 12:43:53 +02:00
Matthias Clasen
bfe201d70a Merge branch 'unintrusive-compose-preedit-3' into 'gtk-3-24'
sUnintrusive compose preedit 3

See merge request GNOME/gtk!3223
2021-02-18 23:55:28 +00:00
Matthias Clasen
1282cac99d imwayland: Be careful about cursor positions
We don't want to hand out cursor positions based on
the original preedit text and then tweak the text to
be different.
2021-02-18 15:44:21 -05:00
Matthias Clasen
784b236964 Merge branch 'unintrusive-compose-preedit-3' into 'gtk-3-24'
Unintrusive compose preedit 3

See merge request GNOME/gtk!3221
2021-02-18 18:41:37 +00:00
Matthias Clasen
f8206f18b1 imwayland: Tweak preedit text
Tweak the preedit text we get from IBus (via the compositor) to
match what GtkIMContextSimple produces for Compose sequences now.

This provides a unified experience.
2021-02-18 13:14:31 -05:00
Matthias Clasen
523d5121d3 imcontext: Make Compose preedit less intrusive
Tweak the preedit display for Compose sequences to
be not so distracting. We only show the Compose key
when it occurs in the middle of the sequence or is
the only key so far, and use · instead of ⎄ for it.

Also, make sure to display dead keys more adequately.
2021-02-18 12:38:22 -05:00
Matthias Clasen
a048da02d5 Merge branch 'wip/carlosg/font-settings-lookups-3-24' into 'gtk-3-24'
gdk/wayland: Look for font settings recursively (3.24)

See merge request GNOME/gtk!3219
2021-02-18 17:18:19 +00:00
Carlos Garnacho
4d30400987 gdk/wayland: Look for font settings recursively
Use the infrastructure already available to look up keys, instead.
This does the right thing and looks up the setting across all
sources.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3680
2021-02-18 16:51:28 +01:00
Matthias Clasen
f56a5ee260 Merge branch 'wip/jimmac/tiled-resize-area-gtk3' into 'gtk-3-24'
Adwaita: control surface for resize tiled windows

See merge request GNOME/gtk!3212
2021-02-17 03:53:55 +00:00
Matthias Clasen
891d4e9da3 Merge branch 'imcontext-modifier-intent' into 'gtk-3-24'
imcontextsimple: Bring back modifier intent

See merge request GNOME/gtk!3213
2021-02-17 03:40:22 +00:00
Matthias Clasen
8780cde919 imcontextsimple: Bring back modifier intent
This was lost by accident in 85d34932f3.
2021-02-16 19:31:17 -05:00
Jakub Steiner
56f6ac5fcc Adwaita: control surface for resize tiled windows
- window resizing control area is implemented as where the shadows are drawn
    - create a 'fake' shadow for the tiled case to allow easier resizing of
      the tiled window ratio even if it's offset to the side of the border

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3670
2021-02-16 14:23:12 +01:00
Matthias Clasen
03b97b0a8b Merge branch 'wip/jimmac/scrollbars-fine-tune-fix-gtk3' into 'gtk-3-24'
Adwaita: Avoid fine-tune scrollbars jumping

See merge request GNOME/gtk!3210
2021-02-16 12:26:13 +00:00
Jakub Steiner
3d30790280 Adwaita: Avoid fine-tune scrollbars jumping
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3672
2021-02-16 11:41:57 +01:00
Charles Monzat
20ecaaa0e1 Update French translation 2021-02-16 08:52:37 +00:00
Matthias Clasen
b201438b39 Merge branch 'wip/jimmac/larger-smaller-scrollbar-gtk3' into 'gtk-3-24'
Adwaita: Scrollbar transitions and size

See merge request GNOME/gtk!3205
2021-02-15 18:08:20 +00:00
Carlos Garnacho
dca64da1fe Merge branch 'touch-scroll-scale' into 'gtk-3-24'
Add scaling adjustment for touch dragging a scrolled window

See merge request GNOME/gtk!2615
2021-02-15 17:27:26 +00:00
Jakub Steiner
ca34428d17 Adwaita: Scrollbar transitions and size
- tone down the size of the controller again
 - transition between the indicator and control fluidly

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1886
2021-02-15 13:45:21 +01:00
Matthias Clasen
5f13ee0afe Merge branch 'lenient-compose-parsing-3' into 'gtk-3-24'
Lenient compose parsing 3

See merge request GNOME/gtk!3202
2021-02-14 20:35:40 +00:00
Matthias Clasen
d11cde0c1c imcontext: Be more lenient in parsing Compose
X11 allows keysyms to be specified in addition to strings.
We only support the strings. In the past, we ignored everything
after the string. Go back to doing that, but issue a warning
that we've ignored the keysym.
2021-02-14 13:03:50 -05:00
Matthias Clasen
052b7d0ca7 Merge branch 'fix-compose-comments-for-3' into 'gtk-3-24'
imcontext: Fix a regression in Compose file parsing

See merge request GNOME/gtk!3200
2021-02-14 17:45:22 +00:00
Matthias Clasen
22960c5c20 imcontext: Fix a regression in Compose file parsing
We accidentally dropped the handing of # comments.
Bring it back.

Fixes: #3664
2021-02-14 12:10:09 -05:00
Balázs Meskó
d68898a033 Update Hungarian translation 2021-02-14 00:11:21 +00:00
Matthias Clasen
5c6aa76979 3.24.25 2021-02-12 10:45:40 -05:00
Matthias Clasen
abefce0961 Fix distcheck 2021-02-12 10:24:27 -05:00
Matthias Clasen
2ca1fe61a4 Merge branch 'frame-request-api' into 'gtk-3-24'
wayland/window: Add API to overwrite surface frame requests

See merge request GNOME/gtk!3111
2021-02-12 12:46:37 +00:00
Robert Mader
d3316a37ed wayland/window: Add API to add extra surfaces for frame callbacks
This is useful when clients use subsurfaces independently of GDK.
For example if a client creates a subsurface that covers a GdkWindow
entirely. If this subsurface is opaque, Wayland compositors may not
emit callbacks for the surface of the GdkWindow any more.
Adding the covering subsurface via this new API ensures the
GdkWindow will continue to update in this case.
2021-02-12 13:18:29 +01:00
Matthias Clasen
6fd951e53d Merge branch 'wip/jimmac/tiled-shadow-fix-fix-gtk3' into 'gtk-3-24'
Adwaita: Bring back borders of tiled windows

See merge request GNOME/gtk!3185
2021-02-11 17:03:24 +00:00
Jakub Steiner
35adc7ed04 Adwaita: Bring back borders of tiled windows
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3661
2021-02-11 15:24:59 +01:00
Matthias Clasen
52eb7b23cb Merge branch 'wip/jimmac/fix-maximized-shadows-gtk3' into 'gtk-3-24'
adwaita: disable shadows when window is maximized, fullscreen, tiled

See merge request GNOME/gtk!3179
2021-02-10 19:20:37 +00:00
Jakub Steiner
6f4ebce914 adwaita: disable shadows when window is maximized, fullscreen, tiled
These shadows cause a significant draw performance drop for maximized
windows. Disabling them increases the chances we can have faster scroll
performance of text.

There is some risk here for systems where they have a dock and you expect
the shadow to draw beneath that dock for transparency reasons.
2021-02-10 18:18:10 +01:00
Matthias Clasen
40295441d1 Merge branch 'fix-imcontext-crash' into 'gtk-3-24'
Fix imcontext crash

See merge request GNOME/gtk!3174
2021-02-09 23:37:27 +00:00
Matthias Clasen
d2fe033c21 imcontextsimple: Fix a crash
In the backport, I inadvertendly removed the
set_client_window implementation, which needs
to remain.
2021-02-09 18:11:38 -05:00
Matthias Clasen
e3c03e98f9 Merge branch 'im-context-work-for-3' into 'gtk-3-24'
imcontext: Backport compose sequence improvements

See merge request GNOME/gtk!3172
2021-02-09 02:00:00 +00:00
Matthias Clasen
85d34932f3 imcontext: Backport compose sequence improvements
Improve compose sequence handling:
- Show preedit for compose seqences
- Support sequences of up to 20 code points
- Warn when ignoring Compose file features
- Support compose sequences producing multiple characters
- Support hex escapes
2021-02-08 20:28:49 -05:00
Matthias Clasen
a0818f5bae Merge branch 'gtk-3-24' into 'gtk-3-24'
printing: Create temporary queues for Avahi printers (Gtk 3)

See merge request GNOME/gtk!3161
2021-02-07 16:14:05 +00:00
Marek Kasik
de3e97309f printing: Show all Avahi advertised printers
This commit unsubscribes CUPS backend from a DBus
signal in idle when listening for new items on Avahi.

Since GDBus emits gathered signals in idle while
checking whether the signal has been unsubscribed
it could happen that a signal was not processed
because it was removed from hash table of
subscribed signals.
This caused the situation where printers advertised
on Avahi were not listed in CUPS backend sometimes.

We need those signals since this happens when switching
from a general subscription which listens to signals
for all Avahi services to a specific one which listens
to just _ipp._tcp and _ipps._tcp (chicken and egg problem).
2021-02-05 18:57:19 +01:00
Marek Kasik
d07bfbec1d printing: Create temporary queues for Avahi printers
This change extends set of Avahi advertised printers which
works with Gtk's CUPS print backend.

It creates a temporary queue (local printer) for each
Avahi printer in CUPS instead of accessing them directly
(via CUPS library).

This makes some printers work which did not work before and
also gives users more options to change in the print dialog.

This also changes naming of printers to be in accordance with CUPS.
It uses '_' instead of '-' and has hostname appended for CUPS remote
printers.
2021-02-05 18:57:19 +01:00
Matthias Clasen
89f3273651 Merge branch 'uac.meson.3' into 'gtk-3-24'
Meson: Avoid UAC on 32-bit Windows for gtk-update-icon-cache

See merge request GNOME/gtk!3147
2021-02-03 15:42:32 +00:00
Chun-wei Fan
a612a42c11 Meson: Avoid UAC on 32-bit Windows for gtk-update-icon-cache
As the program executable name has 'update' in its filename,
gtk-update-icon-cache.exe is considered to be an installer program on 32-bit
Windows [1], which will cause the program to fail to run unless it is running
with elevated privileges (i.e. UAC).

Avoid this situation by embedding a manifest file into the final executable
that tells Windows that this is not a program that requires elevation.

Also make the autotools build files dist the new script and use the new script
to generate the manifest and rc files, instead of hardcoding the generating
bits in gtk/Makefile.am

Fixes issue #3632.

[1]: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc709628(v=ws.10)?redirectedfrom=MSDN,
under section "Installer Detection  Technology"
2021-02-03 14:56:07 +08:00
Jonas Ådahl
ddb9bae3d4 Merge branch 'gtk-surface-release-3-24' into 'gtk-3-24'
Support gtk-shell surface release destructor

See merge request GNOME/gtk!2074
2021-01-29 16:21:09 +00:00
Matthias Clasen
a8c12a4c96 Merge branch 'gtk-3-24' into 'gtk-3-24'
Adds support for Android/Chrome on-screen keyboard

See merge request GNOME/gtk!3130
2021-01-29 00:59:15 +00:00
Maxim Zakharov
b31a80cd64 Adds support for Android/Chrome on-screen keyboard
Adds event listener for input events; converts input data into
key press and key release commands depending on inputType of the event.
2021-01-29 11:23:51 +11:00
Matthias Clasen
6748c7116d Merge branch 'wip/jimmac/larger-scrollbars' into 'gtk-3-24'
Adwaita: make scrollbars larger

See merge request GNOME/gtk!3110
2021-01-25 13:42:16 +00:00
Jakub Steiner
d13b9f797a Adwaita: make scrollbars larger
When using scrollbars as active controls, rather than their primary role as indicators,
increase their size as click targets.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1886
2021-01-25 14:15:14 +01:00
Fabio Tomat
0b1ca619a7 Update Friulian translation 2021-01-21 06:42:25 +00:00
Bruce Cowan
16ac1a12fc Update British English translation 2021-01-18 20:34:32 +00:00
Jordi Mas
6fee66a9aa Update Catalan translation 2021-01-18 20:51:57 +01:00
Matthias Clasen
aec4dc9387 Merge branch 'gtk_dbg_interactive_gtk3_backport' into 'gtk-3-24'
Allow GTK_DEBUG=interactive even without G_ENABLE_DEBUG defined

See merge request GNOME/gtk!3090
2021-01-18 19:41:25 +00:00
vanadiae
0a9e2d6ed7 gtk-debug: Allow interactive debug even without G_ENABLE_DEBUG
Currently when GTK3 is compiled without G_ENABLE_DEBUG, the inspector
can't be opened with GTK_DEBUG=interactive because it doesn't parse
this env var without G_ENABLE_DEBUG.

Since the inspector is always good to have, this commit now always
parses the GTK_DEBUG env var but only keep the "interactive" flag if
G_ENABLE_DEBUG isn't defined.
2021-01-18 18:35:50 +01:00
Марко Костић
395b30dcfe Update Serbian translation 2021-01-16 13:31:17 +00:00
Matthias Clasen
326d101a57 Merge branch 'wip/carlosg/mark-valid-portal-settings-3-24' into 'gtk-3-24'
gdk/wayland: Mark matched settings from the portal as valid (3.24)

See merge request GNOME/gtk!3077
2021-01-14 18:31:57 +00:00
Carlos Garnacho
02a02fac56 gdk/wayland: Mark matched settings from the portal as valid
Commit e6209de962 added some checks on TranslationEntry.valid in
order to figure out whether using the new font settings or the
old g-s-d ones. However that's only set in the non-sandboxed case.

This makes sandboxed applications fallback to the old (and also
non-existing with modern g-s-d) settings, possibly resulting in
ugly defaults being picked.

Fix this by also marking TranslationEntry elements as valid when
using the settings portal, precisely those entries that we are able
to read and match with our own table.
2021-01-14 16:09:27 +01:00
Carlos Garnacho
7ab4c9a68b Merge branch 'fix-tablet-3.24' into 'gtk-3-24'
Wayland: Fix segfault when receiving tablet/touch events for surfaces that have already been destroyed client-side

See merge request GNOME/gtk!2809
2021-01-10 13:18:15 +00:00
wisp3rwind
19a740e277 Wayland: ignore touch/tablet events on destroyed surfaces
When destroying a wl_surface (e.g. when a window or menu is closed), the
surface may continue to exist in the compositor slightly longer than on
the client side. In that case, the surface can still receive input
events, which need to be ignored gracefully.
In particular, this prevents segfaulting on wl_surface_get_user_data()
in that situation.

Reported in
https://gitlab.gnome.org/GNOME/gtk/-/issues/3296

The same issue for pointers/keyboards was reported in
https://bugzilla.gnome.org/show_bug.cgi?id=693338

and fixed with in
bfd7137ffb
3625f17857
a8fc099a72
2021-01-10 12:00:28 +01:00
Carlos Garnacho
cae5e60113 Merge branch 'avoid-pointer-reset' into 'gtk-3-24'
wayland: avoid set_cursor() when unchanged or invisible

See merge request GNOME/gtk!2822
2021-01-06 19:53:30 +00:00
Matthias Clasen
c87b21351c Merge branch 'workaround-win32-intel-blit' into 'gtk-3-24'
gdkglcontext-win32.c: Workaround Intel glBlitFramebuffer() issues

See merge request GNOME/gtk!2996
2021-01-06 16:13:02 +00:00
Matthias Clasen
f25a5f21fc Merge branch 'gtk-3-24' into 'gtk-3-24'
fix touchscreen events processing in broadway.js

See merge request GNOME/gtk!2972
2021-01-06 16:10:08 +00:00
Fran Dieguez
bda6c5ec2b Update Galician translation 2021-01-04 23:07:05 +00:00
Fabio Tomat
51cef47835 Update Friulian translation 2020-12-31 10:24:55 +00:00
Chun-wei Fan
f8b7bd6dd6 Fix 'make dist' again
The autotools pattern rules can be off-putting...
2020-12-28 22:11:08 +08:00
Źmicier Turok
72b047b084 Update Belarusian translation 2020-12-27 07:29:47 +00:00
Źmicier Turok
72eb09f8e8 Update Belarusian translation 2020-12-27 07:27:34 +00:00
Chun-wei Fan
7647208fba Try again to fix 'make dist'
It turns out that we must put Directory.Build.props in win32/vs10 and let
automake copy it over to win32/vs15/... so do that, and only dist the copy
in win32/vs15.
2020-12-24 18:10:16 +08:00
Chun-wei Fan
8f325b475b win32/Makefile-newvs.am: Fix 'make dist'
We need to account for the lack of Directory.Build.props in win32/vs10...
2020-12-24 17:05:10 +08:00
Chun-wei Fan
ac7dd63b02 Visual Studio projects: Support arm64/aarch64 builds better
Update the NMake Makefiles used for generating the various sources be able to
cope with an ARM64 build environment, and update the project files, in
particular for Visual Studio 2017 (VisualStudioVersion 15.0) so that we can
pull in the system .lib's that were somehow excluded from the default list
on ARM64 builds.

Also, add a custom Directory.Build.props in win32/vs15 so that we do not
try to build with the Windows 8.1 SDK by defualt, which is not ready for ARM64
builds, but instead uses the appropriate Windows 10 SDK that supports this.

Update the README.win32 file to give people instructions on how ARM64 builds
can be carried out.
2020-12-24 16:27:58 +08:00
Chun-wei Fan
a7b93d62d5 Visual Studio Projects: Improve search for Harfbuzz headers
Look in the include/harfbuzz directory that is under the pre-defined prefix
directory, as Pango 1.44.x and later pulled in HarfBuzz headers for all builds
2020-12-24 13:57:28 +08:00
Chun-wei Fan
985e17772b Visual Studio projects: Do not hardcode gdbus-codegen path
Instead, use the $(GDBUS_CODEGEN) NMake Makefile variable, so that it may be
overridden if needed
2020-12-24 13:48:36 +08:00
Danial Behzadi
856fb75413 Update Persian translation 2020-12-23 15:23:18 +00:00
Emmanuele Bassi
138f104fa4 Merge branch '324.c89' into 'gtk-3-24'
Fix gtk-3-24 builds on older C89-esque compilers

See merge request GNOME/gtk!2995
2020-12-23 13:45:28 +00:00
Chun-wei Fan
79e512ab0b gdkglcontext-win32.c: Workaround Intel glBlitFramebuffer() issues
Intel OpenGL drivers have an issue where the results of a series of
glBlitFramebuffer() can delay updating the display, when we use GDK_GL=always,
which is manifested when attempting to enter text in text boxes.

This attempts to work around this issue by requiring a glFlush() call and a
retry to the same glBlitFramebuffer() calls to avoid delays in keystrokes when
using GDK_GL=always and when not using libANGLE OpenGL/ES emulation, when an
Intel OpenGL driver is being used.

Special thanks to Lukas K. for the analysis and coming up with a workaround,
which this patch builds upon.

Fixes issue 3487
2020-12-23 19:01:31 +08:00
Chun-wei Fan
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
Chun-wei Fan
ecd6b0b9a4 gtk/gtkscrolledwindow.c: Declare variables at top-of-block
This way, the code can be built on C89-esque compilers.
2020-12-23 11:24:34 +08:00
Chun-wei Fan
de6498f18c Visual Studio: Use G_ENABLE_DEBUG for all builds
This way, we can enable the built binaries to print out diagnostic
messages as needed by the values we set via the envvar GDK_DEBUG.

The release configs of the Visual Studio project files follow the
settings of Meson's `debugoptimized` build settings.
2020-12-23 10:46:58 +08:00
Matthias Clasen
f89aeecc4f Merge branch 'cursor-aspect-ratio-gtk3' into 'gtk-3-24'
Cursor aspect ratio fixes for gtk 3

See merge request GNOME/gtk!2965
2020-12-21 19:26:39 +00:00
sicklylife
eec24a0982 Update Japanese translation 2020-12-20 08:02:07 +00:00
sicklylife
a4ab1cfebe Update Japanese translation 2020-12-20 07:57:27 +00:00
Maxim Zakharov
ba845fa7b2 fix touchscreen events processing in broadway.js
Makes event listeners active explicitly if supported; corrects
handling for deleted surfaces preventing javascript errors in
accessing deleted objects; makes event identifiers unique for
broadwayd when executing in Chrome on Android.

Partially fixes #1493
2020-12-18 12:22:47 +11:00
Sebastian Keller
2a89189f1a textview: Use correct aspect ratio when invaldiating cursor
The size of the cursor depends on either the gtk-cursor-aspect-ratio
GtkSetting or as of the previous commit on the GtkSetting or the
cursor-aspect-ratio style property. GtkTextView was only considering the
style property.

Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
2020-12-16 20:49:39 +01:00
Sebastian Keller
0165cce645 stylecontext: Add style property fallback for gtk-cursor-aspect-ratio
The gtk-cursor-aspect-ratio GtkSetting was only recently introduced and
replaced the cursor-aspect-ratio style property. This was causing old
configurations that used CSS to modify this property to no longer apply.
This commit introduces a fallback from the GtkSetting to the style
property if the value of the setting is unchanged.

Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
2020-12-16 20:49:39 +01:00
Sebastian Keller
6c5489ab25 settings: Support loading float values from keyfiles
The gtk-cursor-aspect-ratio property got added as a float property.
However there is no parser for float values from keyfiles which meant
that it could not be changed from settings.ini.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
2020-12-16 20:49:39 +01:00
Emmanuele Bassi
b933d57632 Merge branch 'pixbuf-from-surface-leak' into 'gtk-3-24'
gdkpixbuf-drawable: Free the pixbuf on Cairo error

See merge request GNOME/gtk!2952
2020-12-14 15:40:12 +00:00
Adrien Plazas
c4f8eb7ec9 gdkpixbuf-drawable: Free the pixbuf on Cairo error
This avoids leaking the pixbuf.
2020-12-14 16:18:45 +01:00
Jordi Mas
7208c97c7d Update Catalan translation 2020-12-10 16:06:18 +01:00
Matthias Clasen
69e7ab649c Merge branch 'fix-gtk-nautilus-typo' into 'gtk-3-24'
[Gtk3] GtkNativeDialog: Fix a typo in the docs

See merge request GNOME/gtk!2930
2020-12-08 03:21:26 +00:00
Phaedrus Leeds
59dfeaceff GtkNativeDialog: Fix a typo in the docs 2020-12-07 17:17:39 -08:00
Matthias Clasen
de8329b3ce 3.24.24 2020-12-05 19:49:26 -05:00
Emmanuele Bassi
4d410489c5 Merge branch 'notebookpage_child' into 'gtk-3-24'
gtknotebookpageaccessible: do not fallback to child accessible for extents

See merge request GNOME/gtk!2924
2020-12-05 00:03:57 +00:00
Samuel Thibault
4ffe5a4954 gtknotebookpageaccessible: do not fallback to child accessible for extents
When the notebook page does not have a label, it should not fallback to
asking its child accessible for extent, since the child might be asking
exactly the converse when it is a socket, thus getting in an infinite
loop. When the page does not have a label, is does not really make sense to
give it an extent anyway.

Fixes atk#18
2020-12-05 00:34:32 +01:00
Carlos Garnacho
850a086adb Merge branch 'wip/exalm/accumulate-scrolling-backport' into 'gtk-3-24'
scrolledwindow: Accumulate velocity with kinetic scrolling

See merge request GNOME/gtk!2818
2020-12-01 13:14:40 +00:00
Kjartan Maraas
76b7f2704c Update Norwegian Bokmål translation 2020-11-30 14:02:18 +00:00
Daniel Șerbănescu
b8af685a43 Update Romanian translation 2020-11-20 09:27:14 +00:00
Milo Casagrande
50c4fbff72 Update Italian translation 2020-11-16 08:50:42 +00:00
Matthias Clasen
0bbe4150a8 Merge branch 'button-fill-var-removal-gtk3' into 'gtk-3-24'
Adwaita: Stop using $button_fill (for gtk-3-24)

See merge request GNOME/gtk!2829
2020-11-15 13:45:57 +00:00
nana-4
6da446c1be Adwaita: Stop using $button_fill
The $button_fill hack for button.circular is pretty awkward and is
currently broken. Instead of relying on it, allow the button() mixin to
have an additional background-image optionally.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3354
2020-11-14 13:21:25 +09:00
Jordi Mas
8f44694d2c Update Catalan translation 2020-11-13 20:24:15 +01:00
wisp3rwind
cf7f7df10c wayland: avoid set_cursor() when unchanged or invisible
In pointer_surface_update_scale(), only rescale the cursor surface when
the scale has actually changed and the cursor is on at least one output.

fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3350

Right now, this issue is not completely understood, so it might also
involve some questionable handling of cursor surface by sway/wlroots.

However, irrespective of that issue, this patch avoids unnecessary calls to the
compositor, and there should be no drawback: Whenever the pointer enters
a new output, pointer_surface_update_scale() will be called again, such
that correct scaling of the cursor is still ensured.

There is a slight difference: When the cursor leaves the last output,
previously the image was reset to scale factor 1. Now, it keeps whatever
was last. That might be more sensible than the previous behaviour,
assuming that it's likely that when the cursor enter an output again, it
has the same scaling. Alternatively, if one cares about resource usage
at this level, it might make more sense to destroy the surface then
rescaling to 1.
2020-11-13 16:20:02 +01:00
Chris Lord
1d62a010ef scrolledwindow: Accumulate velocity with kinetic scrolling
Accumulate existing velocity when decelerating from a swipe if the swipe
velocity is above a certain fraction of that existing velocity.
2020-11-12 18:56:14 +05:00
Jakub Steiner
46cf2849d2 Merge branch 'wip/jimmac/sass-fixes-and-render-css' into 'gtk-3-24'
Adwaita: !global vars no longer in sass

See merge request GNOME/gtk!2815
2020-11-12 12:26:16 +00:00
Jakub Steiner
811c7f2266 Adwaita: !global vars no longer in sass
- render changes from dab79f5d77
2020-11-12 13:05:45 +01:00
Jakub Steiner
a84b41abfd Merge branch 'treeview-header-button-border-css' into 'gtk-3-24'
Highlight treeview header button border with more contrasting color on hover

See merge request GNOME/gtk!2467
2020-11-12 09:23:06 +00:00
crvi
dab79f5d77 Adwaita: Make treeview header button borders more visible
The existing treeview header button border in GTK3 is close to
invisible. The preferred way to find the border for a treeview column
is to hover the mouse near the beginning of the header button text
expecting the default cursor to switch to 'col-resize' cursor. This
works only when all column headers in the view are left aligned. After
adding a few numeric columns to the view, whose headers are right
aligned, it becomes really hard to find the location of the border
between a left aligned and right aligned column header.

This change addresses the issue by using high contrast colors for
borders of treeview header button - in line with the colors used in
Adwaita theme in GTK4.

See merge request GNOME/gtk!2467
2020-11-12 01:37:03 +05:30
Matthias Clasen
e792e077fa Merge branch 'wip/dont-set-invalid-xdg-surface-geometry' into 'gtk-3-24'
wayland: Bail loudly if invalid geometry is set

See merge request GNOME/gtk!2808
2020-11-11 15:18:27 +00:00
Luca Bacci
67be62aeaf GdkWin32: Fix mouse events in presence of transparent windows on the desktop
In gdkdevice-win32.c we are interested in knowing which window
receives mouse input at a specific location.

Only WindowFromPoint is the right API for the task, other API's
(such as (Real)ChildWindowFromPoint(Ex)) have shortcomings because
they are really designed for other purposes. For example, only
WindowFromPoint is able to look through transparent layered windows.

So even if we want to find a direct child we have to use
WindowFromPoint and then walk up the hierarchy.

Fixes: #370, #417
See: !2767
2020-11-11 14:34:40 +01:00
Jonas Ådahl
ba31560970 wayland: Bail loudly if invalid geometry is set
There is some bug somewhere where the geometry ends up being correct.
Mutter didn't handle this gracefully, and is to be changed to simply
respect the protocol and error out the client that sends bogus data.

Prepare for this by instead of sending bogus data, complain loudly if it
would happen dropping the invalid geometry on the floor instead of
sending it.

Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/1527
2020-11-11 10:17:59 +01:00
Enrico Nicoletto
cfd21b0991 Update Brazilian Portuguese translation 2020-11-10 20:41:12 +00:00
Andika Triwidada
ebda6125a4 Update Indonesian translation 2020-11-08 12:07:23 +00:00
Matthias Clasen
a1757170da Fix a11y test results
The color palette change is reflected in the a11y dump
for the color chooser.
2020-11-07 22:40:41 -05:00
Matthias Clasen
13f6790fdb expander: Documentation update
Document GtkExpander:label-fill as ignored.

Fixes: #3331
2020-11-07 12:03:46 -05:00
kai-berlin
bd4b55ddbf broadway: Set modifier state of scroll events
Set modifier state of scroll events, so Ctrl-scroll
works.

Fixes: #2733
2020-11-03 19:43:21 -05:00
Christian Kirbach
2560af284d Update German translation 2020-11-01 14:02:13 +00:00
Matthias Clasen
0f0dad24f4 Fix the build with older pango
pango_font_family_get_face() was only introduced
in pango 1.46. Work around this for older releases.
2020-10-29 22:22:33 -04:00
Matthias Clasen
9536d3aeaa fontchooser: Fix family-only mode
When the level does not include the style, we only
include one face of each family in the list. But we
were just choosing the first face (typically, a light
or extra-light style). Improve this by picking the
default face (normally, the regular face), which is
the expected behavior.
2020-10-29 21:59:24 -04:00
Asier Sarasua Garmendia
9cfda52d22 Update Basque translation 2020-10-29 20:56:33 +00:00
Matthias Clasen
628d94936a Merge branch 'gtk-3-24' into 'gtk-3-24'
gdk: Fix parent relative background crash

See merge request GNOME/gtk!2753
2020-10-27 21:42:34 +00:00
Sam Bazley
a91de44755 gdk: Fix parent relative background crash
When setting a window's background to ParentRelative on X11, the window
depths must match to avoid a BadMatch error. Query the X server for the
parent window rather that relying on the parent passed to
gtk_window_new() to prevent crashes with reparented windows.

Fixes: #3288
2020-10-27 18:29:21 +00:00
Luca Bacci
0cb78a9808 GdkW32: remove klassTEMPSHADOW
Fixes issue #2019

See !2749
2020-10-27 18:12:42 +01:00
Jordi Mas i Hernandez
d955636da5 Update Catalan translation 2020-10-22 17:57:33 +00:00
Carlos Garnacho
f4c366044b Merge branch 'wip/exalm/swipe' into 'gtk-3-24'
gestureswipe: Count last event when calculating velocity

See merge request GNOME/gtk!2714
2020-10-21 16:58:27 +00:00
Alexander Mikhaylenko
847d378fea gestureswipe: Count last event when calculating velocity
The last event, matching lifting the finger/releasing the mouse button,
is important when there's a large delay between it and the previous events,
as in when performing a movement, stopping, then releasing fingers as
opposed to doing a swipe.

If this event is skipped, doing this will result in kinetic deceleration
matching the previous finger movement, while the expected behavior would
be no deceleration.

See also 97f540622a for a similar fix in
GtkEventControllerScroll.
2020-10-21 20:57:30 +05:00
Goran Vidović
fab2558747 Update Croatian translation 2020-10-19 16:36:42 +00:00
Emmanuele Bassi
0ac222fab2 Merge branch 'wip/exalm/screensaver' into 'gtk-3-24'
gtkapplication-dbus: Initialise screensaver-active property

See merge request GNOME/gtk!2716
2020-10-19 10:36:01 +00:00
Bob Ham
6f6b5faaa2 gtkapplication-dbus: Initialise screensaver-active property
When GtkApplication starts listening to the screensaver's D-Bus
status, the screensaver-active property is not initialised and
applications making use of the property are out of sync until the
first state change.  Any application starting when the screensaver is
active will think it's inactive.

To fix this, we set the property when we first start monitoring the
screensaver.

See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1091
2020-10-19 14:51:19 +05:00
Daniel Mustieles
ddb7cab4ac Updated Spanish translation 2020-10-19 09:16:03 +02:00
Matthias Clasen
c5d39c3582 Merge branch 'meson-epoxy-subproject' into 'gtk-3-24'
meson: Fix error when epoxy is a subproject on Windows

See merge request GNOME/gtk!2691
2020-10-15 01:22:14 +00:00
Xavier Claessens
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
Matej Urbančič
a51e5551ba Update Slovenian translation 2020-10-14 21:04:41 +00:00
John Ralls
b46f50079b [Mac Keys] Restore command-key bindings.
Lost in transition from gtkrc to css.
2020-10-13 14:36:13 -07:00
John Ralls
715dc780fd [Mac Keybindings] Removed duplicate lines. 2020-10-13 14:36:13 -07:00
John Ralls
d0b09a8823 [imquartz] Set the filter key to passthrough regardless of selector.
Remove all of the selectors. They just set the passthrough anyway so
there's not much point to maintaining them and they weren't the
complete set of possible selectors.
2020-10-13 14:36:12 -07:00
Juliano de Souza Camargo
146229bd47 Update Portuguese translation 2020-10-12 16:33:40 +00:00
Emmanuele Bassi
1eee1980ed Merge branch 'file-chooser-docs' into 'gtk-3-24'
gtkfilechooser: Fix open() references in documentation

See merge request GNOME/gtk!2682
2020-10-12 12:26:45 +00:00
Philip Withnall
7072d57d12 gtkfilechooser: Fix open() references in documentation
While it’s true that you can pass the results of
`gtk_file_chooser_get_filename()` straight to `open()` or `fopen()` on
Linux, you can’t do so on Windows as it expects the filename to be in
the ANSI codepage. Using the GLib wrappers `g_open()`/`g_fopen()`
instead means that the appropriate UTF-8 → UTF-16 → `wopen()`/`wfopen()`
conversions are done.

Spotted by Fabian Keßler in
https://gitlab.gnome.org/GNOME/glib/-/issues/2212.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-12 12:12:33 +01:00
Emmanuele Bassi
57b0ac9b42 Merge branch 'socketplug' into 'gtk-3-24'
GtkPlug/Socket: add accessibility support

See merge request GNOME/gtk!1147
2020-10-11 16:38:00 +00:00
Aurimas Černius
2e7c6edca8 Updated Lithuanian translation 2020-10-11 17:26:25 +03:00
Charles Monzat
2674a3a9d4 Update French translation 2020-10-11 10:04:31 +00:00
Marek Černocký
8d1a37757d Updated Czech translation 2020-10-10 12:16:58 +02:00
Piotr Drąg
7fd47a81e1 Update Polish translation 2020-10-10 12:13:47 +02:00
Anders Jonsson
b7df2c7172 Update Swedish translation 2020-10-08 20:28:18 +00:00
Samuel Thibault
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
Matthias Clasen
b34cfc89e6 Merge branch 'scrollto' into 'gtk-3-24'
Implement ATK's scrollSubstringTo()

See merge request GNOME/gtk!2671
2020-10-08 19:47:34 +00:00
Yuri Chornoivan
40af368523 Update Ukrainian translation 2020-10-08 06:18:32 +00:00
LRN
69b43edd55 Merge branch 'w32-transient-ordering-rollback' into 'gtk-3-24'
GDK W32: transient Z-order rollback

See merge request GNOME/gtk!1769
2020-10-08 05:16:11 +00:00
Sean Farley
8d5357ee56 Allow LPR backend to print PDF and PS file formats
At least from GTK v3.22.30, the code disallows attempts to print PDF and
PS files using the LPR backend. Although it is not easy or possible for
GTK to determine if the printer can print these formats by querying lpr,
the print backend should allow lpr to try.

There are two uses cases:
- A filter is being used by lpr, specified in the printcap file, to process the
  files prior to printing them.
- The printer can print PDF and PS files directly. There are many printers that
  can print these formats, so GTK should allow for the possibility.
2020-10-07 16:53:34 -04:00
Matthias Clasen
c91e65ba10 colorchooser: Bring color names back
These are useful for accessibility.
2020-10-07 15:36:23 -04:00
Martin Pieuchot
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
Matthias Clasen
989b8ef34a Merge branch 'cloudprovider-crash' into 'gtk-3-24'
gtkplacessidebar: Disconnect and unref cloud_manager in dispose

See merge request GNOME/gtk!2669
2020-10-06 22:29:38 +00:00
Jan Alexander Steffens (heftig)
d3d9788d71 gtkplacessidebar: Disconnect and unref cloud_manager in dispose
The manager's providers-changed signal can fire after the sidebar has
been freed. Make sure we disconnect the sidebar from the manager.

https://bugs.archlinux.org/task/57984
https://bugs.archlinux.org/task/68123
2020-10-06 23:51:36 +02:00
Matthias Clasen
bd2b635b6e Merge branch 'BUG_gtktreeview_headers_focus_on_click_GTK3' into 'gtk-3-24'
GtkTreeviewColumn: don't focus-on-click header buttons

See merge request GNOME/gtk!1805
2020-10-05 18:19:11 +00:00
Matthias Clasen
c4c00461fe Merge branch 'issue2780' into 'gtk-3-24'
cssnode: Bail out nicely if there is no settings

See merge request GNOME/gtk!2646
2020-09-30 15:05:52 +00:00
Olivier Fourdan
33059211f4 gtksettings: Avoid a possible NULL pointer dereference
_gtk_settings_get_style_cascade() checks for the given GtkSettings to be
non-NULL, but does so after using the pointer to get the
GtkSettingsPrivate.

Make sure we use the GtkSettings pointer only after the precondition is
verified.

https://gitlab.gnome.org/GNOME/gtk/-/issues/2780
2020-09-30 15:22:15 +02:00
Olivier Fourdan
cec7ff1ba7 cssnode: Bail out nicely if there is no settings
On gdk_display_close(), the GtkSettings attached to the display are
freed.

Yet the gtk CSS code may still be called from the widget unparent,
leading to a segfault.

Check if the GtkSettings is not NULL and bail out nicely if not.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2780
2020-09-30 15:22:15 +02:00
Matthias Clasen
88e8a5272e Merge branch 'cursor-docs' into 'gtk-3-24'
gdkcursor: Add annotations for gdk_cursor_new_for_display()

See merge request GNOME/gtk!2640
2020-09-29 13:32:36 +00:00
Philip Withnall
4d5368e56e gdkcursor: Add annotations for gdk_cursor_new_for_display()
It can fail on Wayland, and is also (transfer full).

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-09-29 14:05:38 +01:00
Yosef Or Boczko
f6e3dfd73e Update Hebrew translation 2020-09-28 19:00:12 +00:00
Yosef Or Boczko
02d1d9714e Update Hebrew translation 2020-09-28 18:58:52 +00:00
Matthias Clasen
0eda000cef Merge branch 'entry-icon-press-event-type-3.24' into 'gtk-3-24'
[3.24] Fix event type annotation on GtkEntry::icon-press / icon-release

See merge request GNOME/gtk!2524
2020-09-28 16:10:49 +00:00
Milo Casagrande
9f04a52b51 Update Italian translation 2020-09-28 07:40:10 +00:00
Jordi Mas
f308d2877e Update Catalan translation 2020-09-27 23:41:27 +02:00
Aurimas Černius
cbfc2f7443 Updated Lithuanian translation 2020-09-27 22:06:28 +03:00
Matthias Clasen
9a693c7228 Merge branch 'issue2591' into 'gtk-3-24'
gdk/wayland: Add support for primary-selection-unstable-v1

See merge request GNOME/gtk!2627
2020-09-27 14:42:00 +00:00
Robert Mader
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
Matthias Clasen
d3cd68f11d scrolledwindow: Fix critical when unsetting scroll cursor
When installing the scroll cursor, add a weak ref to scrolled_window
that clears it if finalised. Unset the weak ref when the uninstalling
the cursor, and when the widget is destroyed.

Patch by Michael James Gratton

Fixes: #749
2020-09-26 20:55:42 -04:00
Juliano de Souza Camargo
96f403d608 Update Portuguese translation 2020-09-26 12:44:34 +00:00
Juliano de Souza Camargo
a1ed9d2a4a Update Portuguese translation 2020-09-26 12:41:02 +00:00
Charles Monzat
47d25d8b97 Update French translation 2020-09-25 18:09:47 +00:00
Benjamin Schaaf
d4943ef2fb Add scaling adjustment for touch dragging a scrolled window
If a GtkScrollable uses a different scale than pixels the offset from a
drag must be adjusted to match this scale. This fixes issues like this
https://gitlab.gnome.org/GNOME/vte/-/issues/283 where the terminal
widget uses rows instead of pixels as its scale for each GtkAdjustable
thus causing a 1 pixel vertical drag to scroll 1 row.
2020-09-26 03:08:03 +10:00
Matthias Clasen
abe4225d9d Merge branch 'wip/jimmac/gtk3-scss-export' into 'gtk-3-24'
HighContrast: render CSS

See merge request GNOME/gtk!2611
2020-09-23 17:01:32 +00:00
Jakub Steiner
8ad9958737 HighContrast: render CSS
- scss was not manually procss, thus things like new public color for
  @text_view_bg were not exported

Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/284
2020-09-23 18:19:45 +02:00
Balázs Meskó
1ec3ed966d Update Hungarian translation 2020-09-23 14:35:33 +00:00
Matthias Clasen
3f5f1ec957 Merge branch '3166-gtk-show-uri-deprecation' into 'gtk-3-24'
gtkshow: Document that gtk_show_uri is deprecated

See merge request GNOME/gtk!2595
2020-09-23 12:19:00 +00:00
Matthias Clasen
045517ae9c Merge branch 'backport-1793' into 'gtk-3-24'
build: clean up .pc generation

See merge request GNOME/gtk!2605
2020-09-23 11:58:17 +00:00
Matthias Clasen
c989d87c74 Merge branch 'gtk-3-24-inkscape-1879' into 'gtk-3-24'
gtktreeview: Fix child access after TEST_EXPAND_ROW

See merge request GNOME/gtk!2609
2020-09-23 11:50:49 +00:00
Efstathios Iosifidis
954af8f0bb Update Greek translation 2020-09-22 09:58:03 +00:00
Thomas Holder
e35378ba37 gtktreeview: Fix child access after TEST_EXPAND_ROW
In gtk_tree_view_build_tree with recurse=TRUE, the TEST_EXPAND_ROW
signal might invalidate the child iterator. Getting the iterator after
the signal (instead of before) fixes the issue.

Fixes https://gitlab.com/inkscape/inkscape/-/issues/1879
2020-09-22 09:27:29 +02:00
Daniel Mustieles
90b737529d Updated Spanish translation 2020-09-21 08:38:13 +02:00
Marek Černocký
2b73b35981 Updated Czech translation 2020-09-21 08:30:06 +02:00
Jan Tojnar
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
Emin Tufan Çetin
c28e247e87 Update Turkish translation 2020-09-20 06:33:11 +00:00
Kukuh Syafaat
5d9646810f Update Indonesian translation 2020-09-20 03:05:42 +00:00
Baurzhan Muftakhidinov
bcc2d455e4 Update Kazakh translation 2020-09-19 12:16:41 +00:00
Bruce Cowan
e1fa808a33 Update British English translation 2020-09-19 11:40:17 +00:00
Mario Blättermann
e9e8a7b73b Update German translation 2020-09-19 08:29:31 +00:00
Asier Sarasua Garmendia
2f635ad61b Update Basque translation 2020-09-19 07:32:13 +00:00
Fran Dieguez
81f19a011b Update Galician translation 2020-09-18 23:12:43 +00:00
Rafael Fontenelle
041a4c202b Update Brazilian Portuguese translation 2020-09-18 21:08:01 +00:00
Peter Bloomfield
ad03ab2ebb gtkshow: Document that gtk_show_uri is deprecated
Due to the deprecation in gtkshow.h, there is proper deprecation warning
for C code. But, for bindings (python in one case), there is no warning,
due to missing "Deprecated:" annotation in gtkshow.c

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3166
2020-09-18 17:00:41 -04:00
Anders Jonsson
8497f07124 Update Swedish translation 2020-09-18 12:50:08 +00:00
Matthias Clasen
0fd8168b3a Merge branch 'cut-finger-3-24' into 'gtk-3-24'
assets: adjust gesture graphic

See merge request GNOME/gtk!2591
2020-09-18 02:34:54 +00:00
Jakub Steiner
059137f714 assets: adjust gesture graphic
- quick, somebody on the internet is offended!

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3074
2020-09-17 21:43:37 -04:00
Matej Urbančič
8d2542c867 Update Slovenian translation 2020-09-17 20:05:48 +00:00
Goran Vidović
1c07a20ca4 Update Croatian translation 2020-09-17 15:38:21 +00:00
Goran Vidović
7284ec12d9 Update Croatian translation 2020-09-17 15:17:47 +00:00
Goran Vidović
ea45c02561 Update Croatian translation 2020-09-17 15:02:24 +00:00
Piotr Drąg
4b6ce6b231 Update Polish translation 2020-09-17 16:51:49 +02:00
Yuri Chornoivan
2b983539bb Update Ukrainian translation 2020-09-17 13:33:33 +00:00
Matthias Clasen
268ca8784d Merge branch 'colorchooser-palette-3-24' into 'gtk-3-24'
colorchooser: Backport the new color palette

See merge request GNOME/gtk!2586
2020-09-17 13:24:53 +00:00
Matthias Clasen
8cafaebe8b colorchooser: Backport the new color palette
Add more and better colors to the default color palette.
2020-09-16 18:37:27 -04:00
Stephan Woidowski
0372d98159 Update British English translation 2020-09-15 14:36:15 +00:00
Matthias Clasen
498d513c4b Merge branch 'wip/wayland-dummy-resize-configure' into 'gtk-3-24'
wayland: Emit dummy configure event when resizing while fixed

See merge request GNOME/gtk!2542
2020-09-13 13:14:05 +00:00
Rūdolfs Mazurs
d1ea91c650 Update Latvian translation 2020-09-12 08:46:28 +00:00
Rūdolfs Mazurs
9cec4fd7fd Update Latvian translation 2020-09-12 08:43:50 +00:00
Danial Behzadi
84cfbe3491 Update Persian translation 2020-09-08 12:05:43 +00:00
Marek Černocký
bdd4cc6661 Updated Czech translation 2020-09-08 10:40:21 +02:00
Милош Поповић
d54b622573 Update Serbian translation 2020-09-08 04:51:30 +00:00
Jonas Ådahl
a184b5bf51 wayland: Emit dummy configure event when resizing while fixed
When a fixed size is active (e.g. the window is maximized),
gtk_window_resize() shouldn't take immediate effect, so the request was
dropped. This made GTK unhappy if this happened, it will freeze updating
the window until it received the new size it demanded.

Handle this by being nice and emitting a dummy GDK_CONFIGURE event with
the old size where we previously ignored it. It won't resize the window
immediately, so it shouldn't have a visible effect, and the size GTK
requested is still saved away for when the window is unmaximized, but
emitting the event will make GTK receive the event it expects.

We still drop the request on the floor, e.g. if we still haven't seen
the initial configuration, just as we do when actually doing the resize.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2907
2020-09-07 17:57:32 +02:00
Marek Černocký
3d273cc073 Updated Czech translation 2020-09-07 14:33:33 +02:00
Dušan Kazik
a04204855d Update Slovak translation 2020-09-07 08:53:29 +00:00
Alexandre Franke
4445dfcbc3 Update French translation 2020-09-06 12:45:18 +00:00
Claude Paroz
be5c0a2fe2 Update French translation 2020-09-06 11:25:32 +02:00
Matthias Clasen
016e8c55ab 3.24.23 2020-09-03 18:04:35 -04:00
Fabio Tomat
33829cdec9 Update Friulian translation 2020-09-03 08:52:33 +00:00
Sebastian Dröge
ec1a48e830 Fix event type annotation on GtkEntry::icon-press / icon-release
This is not only a GdkEventButton but can also be a GdkEventTouch.
Having this annotation wrong causes bindings code to fail whenever a
wrongly typed event comes through.
2020-09-03 09:36:00 +03:00
Emmanuele Bassi
96fd5a24db Merge branch 'gesture-nullable-sequence-3.24' into 'gtk-3-24'
[3.24] Annotate sequence argument of GtkGesture signals as nullable

See merge request GNOME/gtk!2521
2020-09-02 13:33:05 +00:00
Sebastian Dröge
d4868da99c Annotate sequence argument of GtkGesture signals as nullable 2020-09-02 15:29:42 +03:00
Balázs Meskó
e85a298528 Update Hungarian translation 2020-09-02 09:39:16 +00:00
Balázs Meskó
dfbafa27e7 Update Hungarian translation 2020-09-02 05:44:13 +00:00
Matthias Clasen
cd673a95c1 Merge branch 'wip/carlosg/tracker2-fallback' into 'gtk-3-24'
searchengine: Prepare for apps linking to Tracker 2.x

See merge request GNOME/gtk!2513
2020-09-01 13:27:18 +00:00
Asier Sarasua Garmendia
b543567c9e Update Basque translation 2020-09-01 12:25:48 +00:00
Carlos Garnacho
e2d05f0625 searchengine: Prepare for apps linking to Tracker 2.x
Given it does seem likely Tracker is going to miss the goal to get all
applications ported to Tracker 3, the scenario where there's applications
linking to Tracker 2.x while GTK was built with Tracker 3 support becomes
more likely.

Avoid the upcoming GType clashes if that were the case, and resort to the
good (I lie) old Tracker 2 search engine.
2020-09-01 13:22:12 +02:00
Matthias Clasen
4efd805110 Merge branch 'wip/carlosg/last-device-refcount' into 'gtk-3-24'
gdk: Keep a reference on the last source device

See merge request GNOME/gtk!2510
2020-08-31 14:57:35 +00:00
sicklylife
39fb8d3cec Update Japanese translation 2020-08-31 14:30:16 +00:00
Carlos Garnacho
a98001978c gdk: Keep a reference on the last source device
This device may go away, which means we have a pointer to a possibly
stale object. Keep a reference here, and let future events bring this
accounting up-to-date when the mouse pointer is next updated via other
device.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/855
2020-08-31 15:43:54 +02:00
Matthias Clasen
d2dd065b95 Merge branch 'fix-resource-leak-in-gdk-display-close' into 'gtk-3-24'
Fix resource leak in gdk_display_close() under Wayland

See merge request GNOME/gtk!2508
2020-08-31 13:04:20 +00:00
Julien Ropé
f26c026aaf Fix resource leak in gdk_display_close() under Wayland
When using the gdk_display_close(), the handle to the Wayland compositor was not released.
This could cause the consumption of all available handles, preventing other processes from accessing the display.

Fixing this by calling wl_display_disconnect() when releasing the GdkWaylandDisplay object.

Signed-off-by: Julien Ropé <jrope@redhat.com>
2020-08-31 14:01:38 +02:00
Boyuan Yang
bea26415d8 Update Chinese (China) translation 2020-08-29 14:23:05 +00:00
Changwoo Ryu
bac71be6bb Update Korean translation 2020-08-29 03:59:09 +00:00
Changwoo Ryu
63127d6902 Update Korean translation 2020-08-29 03:50:42 +00:00
Jiri Grönroos
a57047c289 Update Finnish translation 2020-08-28 14:44:11 +00:00
Matthias Clasen
3795d0ad8c Merge branch 'wip/exalm/hotspot-fix-324' into 'gtk-3-24'
wayland: Fix dnd hotspot movement

See merge request GNOME/gtk!2491
2020-08-26 23:48:48 +00:00
Matthias Clasen
4e02e292a6 Merge branch 'wip/carlosg/shuffle-font-mouse-settings-3.24' into 'gtk-3-24'
Look up font and mouse settings in gsettings-desktop-schemas (3.24)

See merge request GNOME/gtk!2490
2020-08-26 23:45:15 +00:00
Alexander Mikhaylenko
c67e3f37da wayland: Fix dnd hotspot movement
_gdk_wayland_window_offset_next_wl_buffer() moves the window relatively to
its current position, pass it a delta instead of new position.
2020-08-27 04:02:24 +05:00
Carlos Garnacho
b1bbb37154 gdk/wayland: Use double-click/drag-threshold settings from g-d-s
Handle both these settings, and the older settings-daemon ones for
backwards compatibility. The keys are already checked for existence
in the schema, so it will just use the existing ones.
2020-08-27 00:30:51 +02:00
Carlos Garnacho
e6209de962 gdk/wayland: Look for font settings in gsettings-desktop-schemas
Prefer this location, but also look for the old location in
settings-daemon for backwards compatibility. This applies to both
direct settings lookups and via the settings portal.
2020-08-27 00:30:38 +02:00
Nathan Follens
c2bc13b8b9 Update Dutch translation 2020-08-25 14:41:15 +00:00
Nathan Follens
1b3756869a Update Dutch translation 2020-08-25 14:37:51 +00:00
Juliano Camargo
06396838f9 Update Portuguese translation 2020-08-23 22:49:22 +00:00
Juliano Camargo
448babd29e Update Portuguese translation 2020-08-23 22:47:20 +00:00
Goran Vidović
3352a9d3bc Update Croatian translation 2020-08-23 19:49:17 +00:00
Boyuan Yang
88efe7f853 Update Chinese (China) translation 2020-08-23 14:57:05 +00:00
Steven Calwas
4c10134295 Handle Wintab cursors that are recognized after GDK app init
Previously, a GDK application handled the Wintab cursors (stylus,
eraser, etc.) only during app initialization. If new cursors were
recognized by Wintab during app execution, the app would not know
about them.

This fix still handles Wintab cursors known during app initialization.
In addition, when Wintab recognizes new cursors and notifies the app
via a WT_CSRCHANGE message, the app handles the new cursors, creating
new Wintab device objects for them.

Closes #1549
2020-08-20 22:54:36 -07:00
Matej Urbančič
de04aaf82d Updated Slovenian translation 2020-08-20 18:15:24 +02:00
Marek Kasik
963e5dd0c8 printing: Use original names for remote CUPS printers
CUPS uses resource paths in the form of "printers/printer_name"
or "classes/class_name" so it is enough to remove the "printers/"
or "classes/" prefix and use the string behind it as a name.

There was recently introduced a wrong check for the prefix.
This commit fixes it in the way it was originally intended.
2020-08-20 13:55:46 +02:00
Марко Костић
1dcd916c7e Update Serbian translation 2020-08-18 21:04:30 +00:00
Jakub Steiner
3caa5bd4fe Merge branch 'wip/jimmac/error-labels-insensitive-gtk3' into 'gtk-3-24'
Adwaita: error labels insensitive & backdrop states

See merge request GNOME/gtk!2451
2020-08-18 11:04:14 +00:00
Jakub Steiner
6a97b1ff27 Merge branch 'gtk-3-24' into 'wip/jimmac/error-labels-insensitive-gtk3'
# Conflicts:
#   gtk/theme/Adwaita/_common.scss
#   gtk/theme/Adwaita/gtk-contained-dark.css
#   gtk/theme/Adwaita/gtk-contained.css
2020-08-18 10:35:38 +00:00
Jakub Steiner
72513972d7 Adwaita: error labels insensitive & backdrop states
- address colored labels for the two states

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-18 12:28:56 +02:00
sicklylife
1ce4f4c514 Update Japanese translation 2020-08-18 10:04:36 +00:00
sicklylife
26f36fcb2a Update Japanese translation 2020-08-18 09:47:32 +00:00
Jakub Steiner
e25d5d89d8 Merge branch 'wip/jimmac/error-labels-insensitive-gtk3' into 'gtk-3-24'
Adwaita: error labels insensitive & backdrop states

See merge request GNOME/gtk!2448
2020-08-17 08:39:35 +00:00
Jakub Steiner
629431ba0e Adwaita: error labels insensitive & backdrop states
- address colored labels for the two states

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-17 09:57:31 +02:00
Matthias Clasen
653251f69e Merge branch 'wip/jimmac/error-entries-and-labels-gtk3' into 'gtk-3-24'
Adwaita: error labels and entries

See merge request GNOME/gtk!2441
2020-08-15 13:10:30 +00:00
Matthias Clasen
ebafe781b4 widget-factory: Backport error state examples
Backport changes from master to introduce error
states in the preference dialog on page 2.
2020-08-15 08:46:03 -04:00
Jakub Steiner
22af449b46 Adwaita: error labels and entries
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063
2020-08-14 14:17:59 +02:00
Fran Dieguez
007243c151 Update Galician translation 2020-08-12 22:38:12 +00:00
Fran Dieguez
9574f961c3 Update Galician translation 2020-08-12 22:34:36 +00:00
John Ralls
69135bcfe3 Accommodate macOS 11.0 Big Sur in gdk_quartz_osx_version.
This may need to be changed next year, it depends on what Apple
decides to do with version numbers going forward.

Also updated GdkOSXVersion to include Catalina and Big Sur.
2020-08-11 17:08:53 -07:00
Matthias Clasen
0d30d36326 3.24.22 2020-08-10 11:59:46 -04:00
Christian Kirbach
cc65c67a0d Update German translation 2020-08-09 18:45:16 +00:00
Jakub Steiner
52b2148b28 Merge branch 'wip/jimmac/vte-bg-color-gtk3' into 'gtk-3-24'
Adwaita: add public color for text views

See merge request GNOME/gtk!2402
2020-08-07 17:33:13 +00:00
Jakub Steiner
c09b9904c8 Adwaita: add public color for text views
- define @text_view_bg to complement @theme_text_color for high
  contrast legible text views.

Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/226
2020-08-07 18:55:04 +02:00
Jakub Steiner
2427ebf9ba Adwaita: sass wasn't re-rendered
- particularly the typographic fix c80ac1c05d
2020-08-07 18:53:15 +02:00
Matthias Clasen
ccc30804d2 Merge branch 'wip/oholy/gtkmountoperation-newline-gtk-3-24' into 'gtk-3-24'
gtkmountoperation: Drop the new line character when splitting a message

See merge request GNOME/gtk!2400
2020-08-07 13:31:29 +00:00
Matthias Clasen
a0e7a231a8 Merge branch 'cherry-pick-267ea755' into 'gtk-3-24'
placesview: Always open default location after mounting

See merge request GNOME/gtk!1288
2020-08-07 13:08:03 +00:00
Ondrej Holy
ec1e2fac95 gtkmountoperation: Drop the new line character when splitting a message
When asking for a password, the message string is split on primary
and secondary if it contains a newline character. However, the newline
character is currently part of both strings, which creates weird
spacing between the GtkLabels. I suppose this is bug, which was not
visible as in most cases (if not all) the message string hasn't
contained the new line characters so far. But we are going to change
that now, see GNOME/gvfs!82. Let's drop the new line character similarly
as it is done when asking for a question, or showing processes in order
to fix the weird spacing.
2020-08-07 10:30:13 +02:00
Jordi Mas
d5b42f78aa Fixes to Catalan translation 2020-07-26 21:36:12 +02:00
Chun-wei Fan
ffe2df7b6a MSVC builds: Make file generating less disrupting
Update the NMake Makefiles to invoke glib-compile-resources with
'start /min' so that when gdk-pixbuf-pixdata, json-glib-format
and xmllint are invoked by glib-compile-resources, cmd.exe windows
will not popup whenever these auxiliary tools are invoked, when one
builds GTK with the Visual Studio projects.

This will reduce the distraction that is caused during the time the
source files are generated, as a popup cmd.exe window will disrupt the
window focus as they appear, and will make the process a bit quicker.
2020-07-25 11:57:04 +08:00
Chun-wei Fan
d1dcf88d75 MSVC Projects: Correct generated files paths
This should be more of a cosmetic change, more for the project files,
but let's keep things in good order.
2020-07-25 11:12:21 +08:00
Chun-wei Fan
a3ed7a150b README.win32: Update sections on MSVC builds
There are some out-of-date info regarding Visual Studio builds, so let's
make those more up-to-date.
2020-07-25 11:01:17 +08:00
Chun-wei Fan
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
Chun-wei Fan
0cbeee3857 Merge branch 'move-msvc-projects' into 'gtk-3-24'
Visual Studio projects: move projects to win32/

See merge request GNOME/gtk!2248
2020-07-24 02:43:18 +00:00
Chun-wei Fan
2dca4e310d Merge branch 'gtk3.win.egl.unfullscreen' into 'gtk-3-24'
gdkwindow-win32.c: Fix GLES glitches during un-fullscreen

See merge request GNOME/gtk!645
2020-07-24 02:39:25 +00:00
Chun-wei Fan
844555384b Merge branch 'gles-windows-arm64' into 'gtk-3-24'
GDK/Win32: Force GLES if running on ARM64

See merge request GNOME/gtk!827
2020-07-24 02:37:33 +00:00
Chun-wei Fan
522e5d4fa5 Merge branch 'win32-native-input' into 'gtk-3-24'
Use native Windows API for converting keystrokes to characters

See merge request GNOME/gtk!991
2020-07-24 02:27:41 +00:00
Matthias Clasen
63a0e76646 Merge branch 'wip/Jehan/gio-querymodules-pkg-config' into 'gtk-3-24'
build-aux: search various Glib/GIO utilities in .pc file.

See merge request GNOME/gtk!2128
2020-07-23 20:30:03 +00:00
Matthias Clasen
607b859a0b Merge branch 'gdkkeysyms' into 'gtk-3-24'
gdk: update gdkkeysyms.h with ./gdkkeysyms-update.pl script

See merge request GNOME/gtk!2270
2020-07-21 20:53:55 +00:00
Ian Douglas Scott
72d80b8002 gdk: update gdkkeysyms.h with ./gdkkeysyms-update.pl script
There is a default keybinding set with `XF86Keyboard`, but GTK isn't
aware of this keysym. This adds it, as well as a couple others.

See 751e44568c
2020-07-21 13:22:04 -07:00
Philip Zander
5b81864211 Fix 2 warnings, formatting 2020-07-16 15:44:08 +02:00
Philip Zander
9bf9c76365 Remove VK_PACKET handling code that has become unnecessary 2020-07-16 15:01:50 +02:00
Philip Zander
5413892b7d Formatting 2020-07-16 15:01:50 +02:00
Philip Zander
e6f05da6ef Use native Windows API for converting keystrokes to characters
Instead of using the incomplete GTK-internal emulation, use the WM_CHAR
messages sent by Windows. Make the IME input method the default for all
languages on Windows.
2020-07-16 15:01:47 +02:00
Chun-wei Fan
1feb169bfa Visual Studio projects: move projects to win32/
This will simplify our source tree a bit
2020-07-16 18:57:03 +08:00
Chun-wei Fan
dd5fd12343 gtk/gtkfilechoosernativeportal.c: Fix on C89 compilers
Make sure we declare variables at the top of the block-we can't declare
variables in a for loop initilization in this case.
2020-07-16 18:31:37 +08:00
Chun-wei Fan
6f54881851 gtkcssshadowvalue.c: Fix build on older Visual Studio
This code made use of isnan(), which is not provided by pre-2013 Visual
Studio, so fix the build by including fallback-c89.c in place of math.h,
and update fallback-c89.c to include the implementation of isnan() for
Visual Studio, which is copied from the fallback-c89.c in gdk/.
2020-07-16 18:28:06 +08:00
Jonas Ådahl
b4d17ebcbe Merge branch 'wl_resize_saved' into 'gtk-3-24'
prefer manually requested size over the configure hint

See merge request GNOME/gtk!1919
2020-07-16 07:50:10 +00:00
Christian Rauch
8e99b3f079 wayland: prefer a manually requested size over the configure hint
When a window receives a resize request, it might ignore this new size and
use the compositor's size hints instead to restore to floating mode.

This commit changes that behaviour in that a window will always prefer
the manually resized dimensions over the compositor's hint.
2020-07-15 16:14:25 +01:00
Matthias Clasen
4da9692061 Merge branch 'wip/jimmac/large-title-letterspacing-gtk3' into 'gtk-3-24'
Adwaita: revert letter-spacing for large-title

See merge request GNOME/gtk!2244
2020-07-14 11:17:12 +00:00
Jakub Steiner
c80ac1c05d Adwaita: revert letter-spacing for large-title
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2932
2020-07-14 12:26:45 +02:00
Chun-wei Fan
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
Matthias Clasen
b1fe8b5ab4 Merge branch 'wip/sadiq/fix-entry-magnifier' into 'gtk-3-24'
entry: Restrict magnifier popover within the entry size

See merge request GNOME/gtk!2228
2020-07-13 12:15:29 +00:00
Matthias Clasen
e363b3a23c Merge branch 'wip/sadiq/fix-textview-select-all' into 'gtk-3-24'
text-view: Fix select-all from touch bubble

See merge request GNOME/gtk!2227
2020-07-13 11:32:08 +00:00
Mohammed Sadiq
c5fe16caa6 text-view: Fix select-all from touch bubble
The 'select-all' signal requires a boolean argument to specify
whether to select all or none.  So explicitly pass TRUE to select
all text instead of letting the demons choose one for us.
2020-07-13 16:27:50 +05:30
Mohammed Sadiq
cadd794d2c entry: Restrict magnifier popover within the entry size
The magnifier shown with touch input should not go beyond the widget
limits.
2020-07-12 06:37:09 +05:30
Emmanuele Bassi
e0da315783 Merge branch 'wip/mbiggio/quartz-device-axes-reset' into 'gtk-3-24'
quartz: mimic source device axes

See merge request GNOME/gtk!2208
2020-07-10 15:48:18 +00:00
Kukuh Syafaat
7733159540 Update Indonesian translation 2020-07-10 12:06:17 +00:00
Milo Casagrande
7a90d4b7c3 Update Italian translation 2020-07-10 07:12:20 +00:00
Matthias Clasen
b5f73f1426 Merge branch 'wip/smcv/gtk3-gresource-internal' into 'gtk-3-24'
build: Don't export GResource-related symbols with newer GLib

See merge request GNOME/gtk!2218
2020-07-09 16:26:43 +00:00
Simon McVittie
b4d120fcb4 build: Don't export GResource-related symbols with newer GLib
This makes the desired behaviour explicit, and matches the behaviour
seen with Meson, where "external : false" is the default.

Before GNOME/glib!1468, not passing --internal to the resource compiler
meant "no special export attribute, do what you would normally do",
so these symbols were not exported due to our global use of
-fvisibility=hidden.

However, since GNOME/glib!1468, not passing --internal to the resource
compiler results in the symbols being decorated with G_MODULE_EXPORT,
which overrides -fvisibility=hidden. This was necessary because Windows
DLLs normally behave a bit like the equivalent of ELF libraries with
-fvisibility=hidden.

Signed-off-by: Simon McVittie <smcv@debian.org>
Resolves: https://gitlab.gnome.org/GNOME/gtk/-/issues/2919
2020-07-09 16:57:42 +01:00
Matthias Clasen
6ab0addc64 Merge branch 'wip/carlosg/tracker3-dist-fix' into 'gtk-3-24'
autotools: Teach about tracker3 search engine

See merge request GNOME/gtk!2217
2020-07-09 15:37:48 +00:00
Carlos Garnacho
b999c8d826 autotools: Teach about tracker3 search engine
Add --enable-tracker3 option (off by default, like in meson) and
hook the tracker3 search engine to build. Also, make sure it's part
of dist.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2912
2020-07-09 17:05:57 +02:00
Emin Tufan Çetin
0ebceebe37 Update Turkish translation 2020-07-09 07:04:08 +00:00
Matthias Clasen
3dd3695ac4 Merge branch 'printing-portal-fix' into 'gtk-3-24'
Printing portal fix

See merge request GNOME/gtk!2210
2020-07-09 03:27:41 +00:00
Casey Jao
6c911248c9 Remember to call print_cb even if print operation is cancelled.
Closes #2917.
2020-07-08 21:51:16 -04:00
Biggio
4b953dee70 quartz: mimic source device axes
Input devices such as stylus pens have additional axes besides (x,y)
coordinates. In order for these devices to work properly, their additional
axes need to be mimicked from the physical device to the associated
virtual pointer when they become active.
2020-07-08 15:26:06 +02:00
Matthias Clasen
f8e043b864 Merge branch 'wayland_surface_app_id_changing_3_24' into 'gtk-3-24'
Wayland surface app id changing

See merge request GNOME/gtk!2206
2020-07-07 21:22:03 +00:00
Jordi Mas
19a9718542 Update Catalan translation 2020-07-07 23:16:18 +02:00
Caolán McNamara
2b74662b2b gtk#767 add a way to change the application_id of a toplevel wayland GdkSurface
so LibreOffice can reuse toplevels and get the right task icons

references;
 https://gitlab.gnome.org/GNOME/gtk/-/issues/767
 https://lists.freedesktop.org/archives/wayland-devel/2019-July/040704.html
 e0d6ad1d5e
 https://bugs.documentfoundation.org/show_bug.cgi?id=125934
 https://bugzilla.redhat.com/show_bug.cgi?id=1334915
 https://bugreports.qt.io/browse/QTBUG-77182
2020-07-07 21:14:21 +01:00
Emmanuele Bassi
faa748d4c9 Merge branch 'gtk3-fix-menu-touch' into 'gtk-3-24'
menu: Fix touch support by using pointer emulation under X11

See merge request GNOME/gtk!1794
2020-07-07 15:20:03 +00:00
Chun-wei Fan
98996aa60b GDK/Win32: Force GLES if running on ARM64
If GLES support is enabled on Windows, force GLES mode if we are running
on a ARM64 version of Windows (i.e. Windows 10 for ARM).

This is required as ARM64 versions of Windows only provide a software
implementation of OpenGL 1.1/1.2, which is not enough for our purposes.
Thus, we could make instead use the GLES support provided via Google's
libANGLE (which emulates OpenGL/ES 3 with Direct3D 9/11), so that we
can run GtkGLArea programs under OpenGL/ES in ARM64 versions of Windows.

Note that eventually we could update the libepoxy build files for Windows
to not check nor enable WGL when building for ARM64 Windows, as the WGL
items do not work, although they do build.
2020-07-07 16:53:01 +08:00
Baurzhan Muftakhidinov
b8b966ef80 Update Kazakh translation 2020-07-05 11:27:00 +00:00
Emmanuele Bassi
5e50b493ec Merge branch 'protocol' into 'gtk-3-24'
modules/input: don't dist generated protocol sources

See merge request GNOME/gtk!2183
2020-07-02 19:08:28 +00:00
Ross Burton
1bc6f7ef47 modules/input: don't dist generated protocol sources
For some reason modules/input adds the C code that is generated by
wayland-scanner to EXTRA_DIST. This results in a race where depending
on the timestamps of the tarball and the timestamp of the system
wayland-protocols either the generated source in the tarball or a
regenerated source will be used.

This doesn't actually impact the code generated, but it does break
reproducible builds as the list of source files changes.
2020-07-02 19:05:23 +01:00
Matthias Clasen
74ff79ef60 Merge branch 'wip/chergert/fix-gtk3-textview-pixelcache' into 'gtk-3-24'
textview: invalidate pixelcache for some invisible changes

See merge request GNOME/gtk!2171
2020-06-29 22:33:03 +00:00
Christian Hergert
30b2e1e7a3 textview: invalidate pixelcache for some invisible changes
When making changes above the current visible region, we might need to
invalidate the pixelcache as the Y positions will no longer match. This
usually is not needed because changes are made interactively and are made
onscreen.

Other cases, though, can include an application changing the first line
of the buffer automatically. We lose the ability to pixelcache well in
this scenario, but that is unlikely an issue since rapid Y geometry resize
or scrolling is less likely to be occuring. For situations where this is
an issue, you can avoid removing the \n from the buffer so line heights
are uneffected.

Fixes #2882
2020-06-29 15:07:59 -07:00
Carlos Garnacho
bf2d6ab5d6 Merge branch 'wip/Jehan/GtkIMContextWayland' into 'gtk-3-24'
modules: add a weak pointer to the GtkIMContextWayland.

See merge request GNOME/gtk!2166
2020-06-29 17:23:09 +00:00
Matthias Clasen
8b5bddcecc Merge branch 'quantize-corner-mask-cache' into 'gtk-3-24'
CSS: Quantization for corner mask cache

See merge request GNOME/gtk!2103
2020-06-29 16:11:34 +00:00
Luca Bacci
18f56ddf53 Limit corner mask cache
Fixes issue #2853
2020-06-29 17:06:28 +02:00
Luca Bacci
8d21c14592 Quantization for corner mask cache
Fixes issue #2853
2020-06-29 17:06:22 +02:00
Daniel Mustieles
c68329819a Updated Spanish translation 2020-06-29 16:33:19 +02:00
Daniel Mustieles
1ed30e7394 Updated Spanish translation 2020-06-29 16:02:34 +02:00
Jehan
b592ded80a modules: focus out the GtkIMContextWayland upon finalization.
In particular, it will NULL-ified the current global context if this is
the finalized one, avoiding dangling invalid pointers.
2020-06-29 11:02:08 +02:00
Matthias Clasen
ab4b85f88c 3.24.21 2020-06-28 17:14:01 -04:00
Aurimas Černius
d9b436535a Updated Lithuanian translation 2020-06-28 22:19:24 +03:00
Jehan
8df0c81807 build-aux: fallback to default glib-compile-schemas & gio-querymodules.
The pkg-config variables have been added in GLib 2.62.0. Let's fallback
to default names for these tools in such case (`pkg-config` still
returns a 0 return value, but with empty output for absent variables).
2020-06-28 12:42:14 +02:00
Jehan
87dfcd8152 build-aux: search various Glib/GIO utilities in .pc file.
Some distributions are renaming Glib/GIO utilities for multi-arch
reasons so pkg-config variables have been added to find the correct name
of a tool. GTK+ should use these variables instead of searching in PATH.
See glib#1796.
2020-06-28 12:41:59 +02:00
Rafael Fontenelle
badbde5041 Update Brazilian Portuguese translation 2020-06-28 00:13:48 +00:00
Piotr Drąg
a3e4481959 Update Polish translation 2020-06-27 12:05:28 +02:00
Baurzhan Muftakhidinov
0b63509d13 Update Kazakh translation 2020-06-26 06:06:35 +00:00
Anders Jonsson
c76896dadf Update Swedish translation 2020-06-25 20:12:09 +00:00
Baurzhan Muftakhidinov
09819e75d2 Update Kazakh translation 2020-06-25 06:28:48 +00:00
Daniel Șerbănescu
d839742415 Update Romanian translation 2020-06-24 16:06:04 +00:00
Jakub Steiner
1118708976 Merge branch 'adwaita-fix-gtk-3-24' into 'gtk-3-24'
Remove .tile from checkbox style selector

See merge request GNOME/gtk!2018
2020-06-24 12:40:01 +00:00
Yuri Chornoivan
da7b0af94b Update Ukrainian translation 2020-06-24 06:12:54 +00:00
Matthias Clasen
40bbcfebcb Merge branch 'cursor-aspect-ratio-for-3' into 'gtk-3-24'
Add a gtk-cursor-aspect-ratio setting

See merge request GNOME/gtk!2144
2020-06-23 21:14:58 +00:00
Matthias Clasen
804ae299a7 Add a gtk-cursor-aspect-ratio setting
Add a setting that controls how thick the text caret is drawn.
This setting replaces a style property that we used to have.
The default value is 0.04.
2020-06-23 16:51:09 -04:00
Matthias Clasen
79762f0be2 Merge branch 'wip/jimmac/notebook-legibility-gtk3' into 'gtk-3-24'
Adwaita: notebook legibility fixes

See merge request GNOME/gtk!2143
2020-06-23 20:48:43 +00:00
Jakub Steiner
de348ba984 Adwaita: notebook legibility fixes
- make inactive tabs more legible

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2652
2020-06-23 22:24:57 +02:00
John Ralls
04ed7fe7db [Quartz]Fix some deprecation and unused variable warnings. 2020-06-20 11:16:18 -07:00
John Ralls
c6036592c9 [Quartz]Silence type mismatch warning. 2020-06-20 10:20:20 -07:00
John Ralls
3f5cf71039 [Quartz] Correct availability macro name. 2020-06-20 10:06:19 -07:00
John Ralls
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
John Ralls
ae97f04498 Fix symbol deprecation warning. 2020-06-20 09:49:43 -07:00
John Ralls
0e30a96404 Use NSTextInputContext discardMarkedText when MacOS is Lion or later.
NSInput manager has been deprecated since 10.6
2020-06-20 09:49:09 -07:00
Matthias Clasen
114f374623 Merge branch 'gtkapplication-quartz-openfiles-fix' into 'gtk-3-24'
quartz: Gtkapplication-quartz openFiles - inhibit cmdline events

See merge request GNOME/gtk!2110
2020-06-18 20:05:20 +00:00
Friedrich Beckmann
7d9a939f99 quartz: gtk-application - inhibit openFiles events from cmdline
When an application is started via cmdline, then openFiles events
from MacOS are generated although gtkapplication already interprets
the cmdline arguments and opens suitable arguments as files. So they
would be opened twice. Depending on the exact situation the
openFiles event can also be issued before the startup signal
is given. Depending on the application this can result in a crash
due to unexpected behaviour. I took this idea from the
gedit-app-osx.m file. Also from Jesse van den Kieboom.

See:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2098#note_842975
https://gitlab.gnome.org/GNOME/gtk/-/commit/a3ad7fa80f764fb7bcbe
https://gitlab.gnome.org/GNOME/gedit/-/blob/master/gedit/gedit-app-osx.m#L592
2020-06-18 21:08:28 +02:00
Matthias Clasen
a3ad7fa80f Merge branch 'gtk-application-quartz' into 'gtk-3-24'
quartz: Bugfix - Add openFiles delegate to gtk_application (#463)

See merge request GNOME/gtk!2098
2020-06-16 16:41:27 +00:00
Friedrich Beckmann
665f8b6b87 quartz: added open capability to gtk_application
This patch implements the openFiles delegate which is required
to open files which are associated with an application via the
Finder or via open on the command line. The patch has been
proposed by jessevdk@gmail.com.

See: https://gitlab.gnome.org/GNOME/gtk/-/issues/463

I tested the patch with the GNU pspp application on MacOS with
the quartz backend.
2020-06-16 16:59:06 +02:00
Benjamin Otte
947c3e9f72 Merge branch 'benzea/fix-css-update' into 'gtk-3-24'
Fix CSS update loop

See merge request GNOME/gtk!2093
2020-06-15 20:13:56 +00:00
Benjamin Berg
7a5caf1bc0 cssnode: Don't queue_validate/deque_validate invisible nodes
Otherwise setting/unsetting the parrent may cause on an invisible widget
may cause the style to be continuously updated.

Fixes: #2849
2020-06-15 21:31:16 +02:00
Matthias Clasen
3065f47ab5 Merge branch 'michaelweghorn/issue1820_gtkfilechoosernativeportal_get_filter' into 'gtk-3-24'
Make gtk_file_chooser_get_filter work for the portal GtkFileChooserNative (issue #1820)

See merge request GNOME/gtk!1960
2020-06-15 17:52:58 +00:00
Matthias Clasen
46a7ffc336 Merge branch 'michaelweghorn/issue1820_gtkfilechoosernative_get_filter' into 'gtk-3-24'
gtk_file_chooser_get_filter Make gtk_file_chooser_get_filter work for the non-portal GtkFileChooserNative (issue #1820)

See merge request GNOME/gtk!1959
2020-06-15 17:51:36 +00:00
Alexander Larsson
7638bcc8e9 Merge branch 'frame-clock-alternative-approach' into 'gtk-3-24'
Frame clock alternative approach

See merge request GNOME/gtk!1931
2020-06-15 10:49:41 +00:00
Yariv Barkan
cf91cf4825 frame clock: fix scheduling
Fix scheduling of the frame clock when we don't receive "frame drawn"
messages from the compositor.

If we received "frame drawn" events recently, then the "smooth frame
time" would be in sync with the vsync time. When we don't receive frame
drawn events, the "smooth frame time" is simply incremented by constant
multiples of the refresh interval. In both cases we can use this smooth
time as the basis for scheduling the next clock cycle.

By only using the "smooth frame time" as a basis we also benefit from
more consistent scheduling cadence. If, for example, we got "frame
drawn" events, then didn't receive them for a few frames, we would still
be in sync when we start receiving these events again.
2020-06-15 08:53:23 +02:00
Yariv Barkan
b80bc06b99 frame clock: adjust reported frame time
When an animation is started while the application is idle, that often
happens as a result of some external event. This can be an input event,
an expired timer, data arriving over the network etc. The result is that
the first animation clock cycle could be scheduled at some random time,
as opposed to follow up cycles which are usually scheduled right after a
vsync.

Since the frame time we report to the application is correlated to the
time when the frame clock was scheduled to run, this can result in
uneven times reported in the first few animation frames. In order to fix
that, we measure the phase of the first clock cycle - i.e. the offset
between the first cycle and the preceding vsync. Once we start receiving
"frame drawn" signals, the cadence of the frame clock scheduling becomes
tied to the vsync. In order to maintain the regularity of the reported
frame times, we adjust subsequent reported frame times with the
aforementioned phase.
2020-06-15 08:53:17 +02:00
Asier Sarasua Garmendia
40fc27fd55 Update Basque translation 2020-06-13 20:16:55 +00:00
Asier Sarasua Garmendia
4c98203d91 Update Basque translation 2020-06-13 19:42:21 +00:00
Yuri Chornoivan
f1d1d24369 Update Ukrainian translation 2020-06-12 06:36:39 +00:00
Emmanuel Gil Peyrot
75a9f8dc92 Switch to GL_ARB_framebuffer_object
GTK+ 3.0 was currently using GL_EXT_framebuffer_object, which is
deprecated as the ARB version has been merged into OpenGL 3.0 as well as
OpenGL ES 2.0, and provides laxer requirements.
2020-06-11 21:24:17 +02:00
Rafael Fontenelle
4e8d8724b6 Update Brazilian Portuguese translation 2020-06-11 15:03:50 +00:00
Matthias Clasen
7df7d6dca7 Merge branch 'builder-parameters-speedup-gtk-3' into 'gtk-3-24'
gtkbuilder: Eliminate array reallocations in get_parameters()

See merge request GNOME/gtk!2072
2020-06-11 11:52:57 +00:00
Sebastian Keller
9459be11a9 wayland: Signal gtk-shell surface destruction to the server
This adds a "release" destructor for the gtk_surface1 interface which
signals to the server that a surface has been destroyed on the client
side, which the current "destroy" does not do.

Ideally the protocol would have specified a destroy request marked as
destructor to handle this automatically, however this is no longer
possible due to the destroy method being implicitly generated in the
absence of an explicit request in the protocol. Adding a destroy request
marked as destructor now would generate a new destroy method that
unconditionally would send the request to the server, which would break
clients running on servers not supporting that request.
2020-06-11 11:38:21 +02:00
Philip Withnall
fb998ff52d gtkbuilder: Eliminate array reallocations in get_parameters()
`gtk_builder_get_parameters()` is a hot path, being called twice for
each object in each UI file in an application. The majority of objects
have ≤ 8 properties, which are each filtered into either `parameters` or
`filtered_parameters`.

Unfortunately, both of those arrays are created as empty `GArray`s, and
adding 8 elements to an empty `GArray` hits the worst possible case of
reallocating and `memcpy()`ing the array 3 times. As the array size is
doubled with each reallocation, the cost is not particularly well
amortised when the array size is small.

From the `ObjectInfo`, we actually know how many properties there are in
total, so just allocate the arrays at the right size to begin with.

This saves 7% of the instruction cycles needed to start up
gnome-software to the point where it’s showing its main window,
according to callgrind. gnome-software is making around 5500 calls to
`gtk_builder_get_parameters()`.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-06-10 19:59:03 +01:00
Michael Weghorn
d59b28d5f4 Make gtk_file_chooser_get_filter work for portal case
This makes 'gtk_file_chooser_get_filter' work for the
portal native file chooser by handling the corresponding
'current_filter' argument in the response retrieved via
D-Bus.

In order to try to map the retrieved 'current_filter' to one
of the existing list of filters, use the retrieved filter's name,
similar to how xdg-desktop-portal-gtk does it when evaluating the
'current_filter' input parameter in 'options'.)

Note: This depends on the following merge/pull requests
which fix the filter handling in gtk for native file choosers
and introduce the 'current_filter' handling for FileChooser portal.

* https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1959
* https://github.com/flatpak/xdg-desktop-portal/pull/493
* https://github.com/flatpak/xdg-desktop-portal-gtk/pull/311

This fixes #1820 for desktop portal case.

Fixes: #1820
2020-06-09 22:52:11 +02:00
Jordi Mas
996e22bde9 Fixes to Catalan translation 2020-06-06 22:59:03 +02:00
Emmanuele Bassi
99472280fb Merge branch 'gtk-3-24-gtk_file_chooser_set_current_name-fix-type' into 'gtk-3-24'
gtk_file_chooser_set_current_name: fix type of name argument

See merge request GNOME/gtk!2044
2020-06-05 11:25:04 +00:00
Thomas Holder
1573ff6803 gtk_file_chooser_set_current_name: fix type of name argument
The description says UTF-8 string, but the annotation said filename.
2020-06-05 12:43:49 +02:00
Yariv Barkan
c7c404833f frame clock: schedule in refresh intervals
When the application does not receive "frame drawn" signals we schedule
the clock to run more or less at intervals equal to the last known
refresh interval. In order to minimize clock skew we have to aim for
exact intervals.

(cherry picked from commit f5de46670b)
2020-06-05 11:59:52 +02:00
Alexander Larsson
3466bfdf2d frame clock: Better handle non-regular clock cycles
We try to step the frame clock in whole refresh_interval steps, but to
avoid drift and rounding issues we additionally try to converge it to
be synced to the physical vblank (actually the time we get the
frame-drawn message from the compositor, but these are tied together).

However, the convergence to vsync only really makes sense if the new
frame_time actually is tied to the vsync. It may very well be that
some other kind of event (say a network or mouse event) triggered
the redraw, and not a vsync presentation.

We used to assume that all frames that are close in time (< 4 frames
apart) were regular and thus tied to the vsync, but there is really no
guarantee of that. Even non regular times could be rapid.

This commit changes the code to only do the convergence-to-real-time
if the cause of the clock cycle was a thaw (i.e. last frame drawn and
animating). Paint cycles for any other kind of reason are always
scheduled an integer number of frames after the last cycle that was
caused by a thaw.

(cherry picked from commit 91af8a705b)
2020-06-05 11:50:04 +02:00
Alexander Larsson
87721d0da7 frame clock: Track if paint is caused by thaw or not
When we get to a paint cycle we now know if this was caused by a
thaw, which typically means last frame was drawn, or some other event.

In the first case the time of the cycle is tied to the vblank in some
sense, and in the others it is essentially random. We can use this
information to compute better frame times. (Will be done in later
commits.)

(cherry picked from commit 82c314f1af)
2020-06-05 11:49:56 +02:00
Emmanuele Bassi
d60746ae6c Merge branch 'issue-2820' into 'gtk-3-24'
docs: Update the link to the GtkBuilder schema

See merge request GNOME/gtk!2042
2020-06-05 09:46:56 +00:00
Emmanuele Bassi
e9c4c80102 docs: Update the link to the GtkBuilder schema
The link to the file is still using the old cgit format, which redirects
to master, where the RNC file is gone.

Fixes: #2820
2020-06-05 10:16:19 +01:00
Alexander Larsson
ede4d06192 Fix frameclock going backwards
When we run the frameclock RUN_FLUSH_IDLE idle before the paint,
then gdk_frame_clock_flush_idle() sets
```
  priv->phase = GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT
```
at the end if there is a paint comming.

But, before doing the paint cycle it may handle other X events, and
during that time the phase is set to BEFORE_PAINT. This means that the
current check on whether we're inside a paint is wrong:

```
  if (priv->phase != GDK_FRAME_CLOCK_PHASE_NONE &&
     priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS)
    return priv->smoothed_frame_time_base;
```

This caused us to sometimes use this smoothed_frame_time_base even
though we previously reported a later value during PHASE_NONE, thus
being non-monotonic.

We can't just additionally check for the BEGIN_PAINT phase though,
becasue if we are in the paint loop actually doing that phase we
should use the time base. Instead we check for `!(BEFORE_PAINT &&
in_paint_idle)`.

(cherry picked from commit a36e2bc764)
2020-06-05 11:06:42 +02:00
Matthias Clasen
5762cc0958 Merge branch 'fribidi-include-gtk3' into 'gtk-3-24'
wayland: Remove unused fribidi include

See merge request GNOME/gtk!2038
2020-06-04 19:40:42 +00:00
Sebastian Keller
7998c53396 wayland: Remove unused fribidi include
The included fribidi header is not used in gdkkeys-wayland.c and already
included in gdk.c which causes linker issues due to the header defining
a global variable.
2020-06-04 21:08:20 +02:00
Kjell Ahlstedt
52d944ec44 flowbox: Don't use a removed child after it has been unparented
In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented.

See MR !2029
2020-06-04 08:24:08 -04:00
Neville
7fd126e2af Adwaita: Remove .tile from checkbox style selector
Currently .tile style is required for the larger blue checkboxes.
The .tile style is removed since it adds unwanted style to elements.
Also the selector to ignore list elements has been modified since
it currently checks for checkboxes that are not lists.
2020-06-03 20:56:39 +05:30
Matej Urbančič
e169c35613 Updated Slovenian translation 2020-06-01 22:12:10 +02:00
Christoph Reiter
366374a3a0 CI: switch MSYS2 jobs to 64bit
g-i randomly fails, maybe its a 32bit toolchain issue, so try switching
to 64bit which should be more tested/used nowadays.
2020-06-01 18:09:45 +02:00
Matthias Clasen
92f11144f3 Merge branch 'gtk-3-24' into 'gtk-3-24'
Fix GPtrArray sorting function

See merge request GNOME/gtk!1984
2020-06-01 14:46:14 +00:00
Matthias Clasen
2b96159c9d Merge branch 'wip/exalm/revert-decoration' into 'gtk-3-24'
Adwaita: Revert black decoration background

See merge request GNOME/gtk!1985
2020-05-30 14:41:29 +00:00
Alexander Mikhaylenko
60f69462fc Adwaita: Revert black decoration background
Before I tried this change, I thought it might break apps that do
transparent window background. So I checked a few that did this:
gnome-terminal, tilix, kgx. It worked, so it must work everywhere, right?

However, it just so happens that vte is drawn using CAIRO_OPERATOR_SOURCE
operator rather than CAIRO_OPERATOR_OVER like everything else. This means
that if vte widget is transparent, anything below it, like a black
decoration background, won't be shown.

So really it is still broken, so reverting it.
2020-05-30 15:22:40 +05:00
Tristan Partin
6a507c0b63 Fix GPtrArray sorting function
GPtrArray's GCompareFunc passes a double pointer that needs to be
dereferenced in order to use the data you are actually wanting to
compare.

See: https://developer.gnome.org/glib/stable/glib-Pointer-Arrays.html#g-ptr-array-sort
2020-05-29 15:24:09 -05:00
Alexander Larsson
1a598c32d9 frame-clock: Ensure we're always monotonic
A call to frame gdk_frame_clock_get_frame_time() outside of the paint
cycle could report an un-error-corrected frame time, and later a
corrected value could be earlier than the previously reported value.

We now always store the latest reported time so we can ensure
monotonicity.

(cherry picked from commit a27fed47e0)
2020-05-28 17:48:32 +02:00
Alexander Larsson
687b49c18a frame-clock: New approach in smoothing frame clock
In commit c6901a8b, the frame clock reported time was changed from
simply reporting the time we ran the frame clock cycle to reporting a
smoothed value that increased by the frame interval each time it was
called.

However, this change caused some problems, such as:
 https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1415
 https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1416
 https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1482

I think a lot of this is caused by the fact that we just overwrote the
old frame time with the smoothed, monotonous timestamp, breaking
some things that relied on knowing the actual time something happened.

This is a new approach to doing the smoothing that is more explicit.
The "frame_time" we store is the actual time we ran the update cycle,
and then we separately compute and store the derived smoothed time and
its period, allowing us to easily return a smoothed time at any time
by rounding the time difference to an integer number of frames.

The initial frame_time can be somewhat arbitrary, as it depends on the
first cycle which is not driven by the frame clock. But follow-up
cycles are typically tied to the the compositor sending the drawn
signal. It may happen that the initial frame is exactly in the middle
between two frames where jitter causes us to randomly round in
different directions when rounding to nearest frame. To fix this we
additionally do a quadratic convergence towards the "real" time,
during presentation driven clock cycles (i.e. when the frame times are
small).

(cherry picked from commit 9ef3e70040)
2020-05-28 17:10:14 +02:00
Alexander Larsson
ac30f9b4cc frame clock: Use compositor refresh rate info even if presentation time not set
On my X11 + nvidia setup gnome-shell doesn't report presentation times.
However it does report refresh rate. We were mostly using this in our
calculation except when computing predicted presentation time, were
it fell back on the default 60Hz.

(cherry picked from commit f1215d2d77)
2020-05-28 17:05:51 +02:00
Alexander Larsson
c03480cbd3 FrameClock debug: Log drawn_time if set
(cherry picked from commit e2a4be0243)
2020-05-28 17:05:38 +02:00
Tim Sabsch
e930c7ef64 Update German translation 2020-05-23 21:58:30 +00:00
Michael Weghorn
baddc90c26 filechoosernative: Make get_filter work for (non-portal) native chooser
'gtk_file_chooser_get_filter' did not work for GtkFileChooserNative,
since the previous way did not properly handle the delegate dialog,
s.a. commit a136cbae8f
("filechoosernative: forward current_filter to delegate dialog",
2018-11-29) for details, wich basiscally fixed the same thing for
the 'gtk_file_chooser_set_filter' case.

This fixes #1820 for the fallback dialog. A solution for the portal
one (which also requires changes to xdg-desktop-portal and
xdg-desktop-portal-gtk as well) will be suggested in a subsequent step.

Bug: #1820
2020-05-23 14:02:34 +02:00
Jordi Mas
31ae4096b5 Update Catalan translation 2020-05-22 15:28:21 +02:00
Jakub Steiner
1f8c019d1e Merge branch 'theme-linked-button-fixes-gtk3' into 'gtk-3-24'
Adwaita: Fix and simplify the linked buttons styling (GTK3)

See merge request GNOME/gtk!1948
2020-05-22 09:30:16 +00:00
Matthias Clasen
aed01a338e Fix the flipping-icons test
Remove icons that no longer have an rtl variant
in Adwaita.

Fixes: #2561
2020-05-21 22:29:28 -04:00
Ondrej Holy
cb9b7278d6 trash-monitor: Rate limit updates
Trash monitor queries info from gvfsd-trash after each file monitor
change which can be problematic when too many changes happen in
a short time. Let's rate limit the number of queries...

Fixes: #1010
2020-05-21 21:16:20 -04:00
nana-4
34d85329a9 Adwaita: Fix and simplify the linked buttons styling
- Remove various unnecessary overrides for linked buttons.
- Add missing outline styles to the %linked_vertical ones.
- Consistently use :not(.vertical) instead of :dir(ltr|rtl) for linked
  combo buttons.
- Remove :only-child styling from the messagedialog button. The
  :only-child is equivalent to :first-child:last-child, so we don't need
  the styling there specially.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2752
Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/2549
2020-05-21 00:51:54 +09:00
Ignacio Casal Quinteiro
b510de34ea Merge branch 'wip/nacho/macos-pen-input' into 'gtk-3-24'
Support for macOS Pen / Eraser input #1551

See merge request GNOME/gtk!1937
2020-05-20 07:11:14 +00:00
Matthias Clasen
88fc1640ed Merge branch 'BUG_double_popover_focus_filechooser_GTK3' into 'gtk-3-24'
filechooser: set default widget early for 'Rename' popover

See merge request GNOME/gtk!1592
2020-05-19 23:26:56 +00:00
Matthias Clasen
45a5ffd056 Merge branch 'wip/carlosg/tracker3-3-24' into 'gtk-3-24'
(3.24) Add Tracker3 search engine

See merge request GNOME/gtk!1945
2020-05-19 22:38:08 +00:00
Carlos Garnacho
df8e6ea32e gtksearchenginetracker3: Pre-fill GFileInfo from query
Provide the minimal info necessary. Improves apparent responsiveness
(since we don't visibly clear and repopulate the list) and saves doing
file stat/reads on every file in the result set.
2020-05-19 22:03:39 +02:00
Carlos Garnacho
ae776046fc gtksearchengine: Add tracker3 search engine
Make this dependency optional at build time, and prefer it over
the old tracker <= 2.x implementation.
2020-05-19 22:03:39 +02:00
Carlos Garnacho
5858f7c5bd gtksearchengine: Add autoptr handler for this type
So subclasses can just use G_DECLARE_*_TYPE.
2020-05-19 22:03:20 +02:00
Carlos Garnacho
99031f885e gtksearchengine: Add "got_results" argument to ::finished
The filechooser tries to figure out whether it got results by poking
the model, but all files might go through the async GFileInfo querying
state.

Make all search engines (and the composite one) just notify about this
fact, so the file chooser can behave appropriately without waiting for
the async operations to finish.
2020-05-19 22:03:20 +02:00
Matthias Clasen
85473d942c Merge branch 'source-device-testinput' into 'gtk-3-24'
testinput: we must get the source of the source device

See merge request GNOME/gtk!1938
2020-05-19 15:42:30 +00:00
Ignacio Casal Quinteiro
05df57654f testinput: we must get the source of the source device
The tablet device is the source device of the event. We must use
the source device to properly detect what kind of source we must
use to properly set the color.
2020-05-19 16:42:35 +02:00
Andreas Butti
ecbed15d47 Support for macOS Pen / Eraser input #1551
This fix is based on this patch: https://bugzilla.gnome.org/show_bug.cgi?id=695701
2020-05-19 16:10:07 +02:00
LRN
0e8eedee16 Merge branch '324-print-paper' into 'gtk-3-24'
W32: Ensure paper size/orientation is preserved

See merge request GNOME/gtk!695
2020-05-18 08:55:47 +00:00
Yi-Jyun Pan
c15eb34792 Update Chinese (Taiwan) translation 2020-05-16 15:19:48 +00:00
Matthias Clasen
5c73b870c1 Merge branch 'wip/carlosg/tablet-disconnects' into 'gtk-3-24'
gdk/wayland: Handle disorderly tablet/pad disconnects

See merge request GNOME/gtk!1909
2020-05-15 19:30:36 +00:00
Carlos Garnacho
948782b7e5 gdk/wayland: Handle disorderly tablet/pad disconnects
If the tablet gets removed/freed while there are pad events in flight,
we leave a dangling pointer from the pad to the tablet, which may
lead to invalid reads/writes when handling the pad event(s).

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2748
2020-05-15 18:47:14 +02:00
Matthias Clasen
a94753429c Merge branch 'wip/exalm/kinetic_scrolling_gtk3' into 'gtk-3-24'
eventcontrollerscroll: Fix the history push condition

See merge request GNOME/gtk!1903
2020-05-14 22:41:13 +00:00
Alexander Mikhaylenko
97f540622a eventcontrollerscroll: Fix the history push condition
Once upon a time, there was a function called gdk_event_get_scroll_deltas().
It returned %TRUE when an event had scroll deltas and that was used as the
condition to decide whether to push scroll deltas to the scroll history,
even when the both deltas are 0 for the stop event at the end of scrolling.

When GtkScrolledWindow kinetic scrolling code was adapted for
GtkEventControllerScroll, it was replaced with a (dx != 0 && dy != 0)
check. This prevented the stop event from getting into the history, and
instead allowed non-smooth scrolling to affect the history as they have
synthetic deltas with one of the values being -1 or 1 and the other on 0.

Instead, check the direction as we already have it as a local variable.
2020-05-15 01:37:40 +05:00
Emmanuele Bassi
0efc217dda Merge branch 'gtk-3-24' into 'gtk-3-24'
force redraw in glareawhen buffer_age is 0

See merge request GNOME/gtk!1868
2020-05-14 13:48:41 +00:00
sicklylife
28d6c19135 Update Japanese translation 2020-05-13 15:14:19 +00:00
sicklylife
44d2e6a0f4 Update Japanese translation 2020-05-13 15:09:45 +00:00
Matthias Clasen
4f7c3610d6 Merge branch 'wip/sadiq/entry-select-all' into 'gtk-3-24'
entry: Always show “select-all” button on touch popup

See merge request GNOME/gtk!1857
2020-05-13 15:05:21 +00:00
Emmanuele Bassi
8a60e251f4 Merge branch 'wip/smcv/aboutdialog-licenses' into 'gtk-3-24'
Fix addition of new licenses to GtkLicense

See merge request GNOME/gtk!1876
2020-05-11 18:03:33 +00:00
Simon McVittie
4db3f142d7 aboutdialog: Document the new licenses added in 3.24.20
Originally part of b4c79bad "Assorted documentation fixes" by
Matthias Clasen.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-05-11 18:35:58 +01:00
Simon McVittie
177aeca5a1 aboutdialog: Update precondition checks for new licenses added in 3.24.20
To avoid making this mistake again, add a static assertion that the
enum is in sync with gtk_license_info, and use the length of
gtk_license_info for the precondition check.

Signed-off-by: Simon McVittie <smcv@debian.org>
Resolves: #2734
2020-05-11 18:35:58 +01:00
Alynx Zhou
530f0c0300 Remove platform specific code 2020-05-11 10:13:17 +08:00
Aurimas Černius
9a46b17a8b Updated Lithuanian translation 2020-05-10 22:34:15 +03:00
Rene Hopf
69334021a2 force redraw in glareawhen buffer_age is 0
Reading form the back buffer is not allowed on software renderers,
and this is reported by the buffer age, so reading from GL_BACK
should not be done when the age is 0

Closes #64
2020-05-10 21:21:08 +02:00
Kukuh Syafaat
1906ed0df5 Update Indonesian translation 2020-05-10 14:49:36 +00:00
LRN
625035e214 Merge branch 'gtk-3-24-w32-xsettings-defaults-2' into 'gtk-3-24'
GDK W32: Use SPI_GETFONTSMOOTHINGTYPE instead of SPI_GETCLEARTYPE

See merge request GNOME/gtk!1865
2020-05-10 13:50:48 +00:00
Руслан Ижбулатов
f67bad2346 GDK W32: Use SPI_GETFONTSMOOTHINGTYPE instead of SPI_GETCLEARTYPE
It turns out that SPI_GETCLEARTYPE always returns TRUE.

Fixes #1774 (for real this time).
2020-05-10 07:17:50 +00:00
Christoph Reiter
8b9ce87fc7 CI: install brotli in msys2
Not a direct dependency, but the freetype package is missing it atm
2020-05-10 08:31:37 +02:00
Daniel Șerbănescu
628245fbf5 Update Romanian translation 2020-05-09 17:13:51 +00:00
Mohammed Sadiq
c823a4d673 entry: Always show 'select-all' button on touch popup
On touch, the popup shown shall contain the 'select-all' button
only if a selection is in progress and if the entry is editable.
Let the button be shown always if selectable so that it’s more helpful.
2020-05-07 18:09:40 +05:30
Milo Casagrande
0ee7d8bc7c Update Italian translation 2020-05-05 12:17:46 +00:00
Peter Mráz
adf0cdad05 Update Slovak translation 2020-05-04 08:26:43 +00:00
Matthias Clasen
373dd2a27e Merge branch 'wip/lantw/meson-Check-for-debug-and-optimization-in-the-same-way-as-GTK-4' into 'gtk-3-24'
meson: Check for debug and optimization in the same way as GTK 4

See merge request GNOME/gtk!1818
2020-05-03 14:16:50 +00:00
Ting-Wei Lan
6d9a3e3ade meson: Check for debug and optimization in the same way as GTK 4
This should make it more consistent for people who use both GTK 3 and
GTK 4. It also makes it less likely to accidentally disable debug.
2020-05-03 18:12:57 +08:00
Matthias Clasen
9151187e3e Merge branch 'filechooser-fix-for-3' into 'gtk-3-24'
filechooser: Translate type column

See merge request GNOME/gtk!1817
2020-05-03 00:27:20 +00:00
Matthias Clasen
86b0b80dfa filechooser: Translate type column
When the code for this was copied from nautilus,
we forgot to adapt it for running in a library
instead of an application - gettext() doesn't work
in a library.

Fixes: #2690
2020-05-02 20:07:33 -04:00
Matthias Clasen
b59aa9af37 Merge branch 'for-3-24' into 'gtk-3-24'
appchooserdialog: Don't show broken subtitles

See merge request GNOME/gtk!1810
2020-05-01 17:54:09 +00:00
Florian Müllner
f28c6d34a7 appchooserdialog: Don't show broken subtitles
Commit 07beb6dba2 made GtkAppChooserWidget useful with no content-type,
however when used in a GtkAppChooserDialog, this will lead to a confusing
"Opening (null) files" subtitle.

Fix this by omitting the subtitle altogether in that case.
2020-05-01 18:22:39 +02:00
Nelson Benítez León
1a9aa675e4 GtkTreeviewColumn: don't focus-on-click header buttons
currently when mouse clicking on a column header
to sort it it is grabbing keyboard focus, this
should not happen, keyboard focus should remain
where it was before. This can be seen on the
GtkFileChooser widget, when having the keyboard
focus on the file list items and clicking on a
column header to sort it the keyboard focus is
now on the header.
2020-04-30 22:30:17 -04:00
Alynx Zhou
721ce22a86 menu: Fix touch support by using pointer emulation under X11
GtkMenu under X11 cannot handle touch events properly,
so just disable touchscreen grabbing for it, which makes
it fallback to pointer emulation.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/945

menu: Fix grab on other backend
2020-04-30 10:16:25 +08:00
Matthias Clasen
c3b912722e Merge branch 'win32-new-runner-gtk3' into 'gtk-3-24'
CI: Switch to new Windows runners

See merge request GNOME/gtk!1798
2020-04-29 22:14:33 +00:00
Christoph Reiter
503ec2fdb7 CI: Switch to new Windows runners
They use powershell instead of cmd.exe, use the tag win32-ps instead of win32,
and run Windows 2016 instead of 2012r2.

The old runners will be switched off in the comming weeks.
2020-04-29 20:44:36 +02:00
Matthias Clasen
cd78e080b1 Merge branch 'wip/albfan/offscreen-window' into 'gtk-3-24'
Offscreen window reaching driver implementations

See merge request GNOME/gtk!1746
2020-04-28 23:15:06 +00:00
Alberto Fanjul
1e2d72144a Prevent crashes on gdk wayland implementation using offscreen windows 2020-04-28 15:14:53 +02:00
Emmanuele Bassi
0576aff947 Merge branch 'missing-dist' into 'gtk-3-24'
Add check-version.py to the Autotools dist

See merge request GNOME/gtk!1776
2020-04-27 19:40:42 +00:00
Emmanuele Bassi
c2f51e1de6 Add check-version.py to the Autotools dist
Otherwise Autotools isn't clever enough to deal with it.
2020-04-27 20:22:14 +01:00
Matthias Clasen
2e2e22a270 Merge branch 'ci-version-check' into 'gtk-3-24'
Keep interface age in sync between Autotools and Meson

See merge request GNOME/gtk!1775
2020-04-27 18:28:45 +00:00
Emmanuele Bassi
00aaba4d5b meson: Sync up the interface age 2020-04-27 18:47:59 +01:00
Emmanuele Bassi
c348d78e37 Add interface age to the version check
We have a fourth component of the version tuple that can go out of sync,
so we should check it.
2020-04-27 18:46:56 +01:00
Matthias Clasen
db39ce2b16 Bump to 3.24.20
I misplaced the 3.24.19 tag, so try again :(
2020-04-27 10:36:13 -04:00
Matthias Clasen
53a481b01b 3.24.19 2020-04-27 09:33:54 -04:00
Matthias Clasen
521a382d79 HighContrast: regenerate css 2020-04-27 08:47:35 -04:00
Peter Bloomfield
3b5e10ef4d file-system-model: Refactor a helper
Push more common code into the helper for
gtk_file_system_model_query_done() and
gtk_file_system_model_one_query_done().
2020-04-27 08:21:45 -04:00
Peter Bloomfield
326077d2ed file-system-model: Avoid use-after free
This is a possible fix for https://gitlab.gnome.org/GNOME/gtk/-/issues/2657

Use a NULL return from g_file_query_info_finish() to detect cancellation
of the query, and avoid derferencing a stale pointer.
2020-04-27 08:18:48 -04:00
LRN
95fd38426c Merge branch 'gtk-3-24-w32-xsettings-defaults' into 'gtk-3-24'
GDK W32: Correctly infer gtk-xft-antialias & gtk-xft-rgba

See merge request GNOME/gtk!1741
2020-04-26 21:36:00 +00:00
Руслан Ижбулатов
217158995a GDK W32: Correctly infer gtk-xft-antialias & gtk-xft-rgba
Instead of hardcoding gtk-xft-antialias, use SPI_GETFONTSMOOTHING to
determine whether antialiasing is enabled.

Make gtk-xft-rgba query more complex - try to determine display
orientation, then use that to rotate subpixel structure. This
won't help with monitors that have naturally vertical subpixels,
but should improve things for monitors that are rotated (as long
as Windows display settings are adjusted accordingly).

Partially fixes #1774
2020-04-26 20:40:57 +00:00
Руслан Ижбулатов
00f06f2480 GDK W32: Remove stacking functions
Stacking functions enforce non-native stacking behaviour that is
mostly unneeded, and doing so introduces bugs and complicates things.
2020-04-26 19:16:02 +00:00
Руслан Ижбулатов
83ebdbdbf4 Revert "GDK W32: Use SWP_NOOWNERZORDER everywhere it can be applied"
This reverts commit fc2008f240.

Turns out, we *don't* have code to maintain Z-order. Restacking
code is not doint that, it just enforces a few weird Z-order-related
behaviours.
2020-04-26 19:11:45 +00:00
Matthias Clasen
e6e86176dc Merge branch 'fix-signature-mismatch' into 'gtk-3-24'
Fix small oversight in function definition signature

See merge request GNOME/gtk!1751
2020-04-23 18:05:09 +00:00
Luca Bacci
1697be5e44 Fix function signature 2020-04-23 19:21:36 +02:00
Jakub Steiner
be159ab93c Merge branch 'wip/exalm/solid-csd' into 'gtk-3-24'
theme: Fix decoration background

See merge request GNOME/gtk!1742
2020-04-23 14:26:32 +00:00
Alexander Mikhaylenko
d46aa9f49e theme: Fix decoration background
'window' is not the only toplevel css name, there are also 'dialog' etc.

Move it before .solid-csd style so that .solid-csd background takes
precedence.
2020-04-23 19:06:33 +05:00
Jakub Steiner
e12747870b Merge branch 'wip/jimmac/gtk3-public-hc-colors' into 'gtk-3-24'
HC: export public colors

See merge request GNOME/gtk!1749
2020-04-23 12:42:16 +00:00
Jakub Steiner
16b4ae8486 HC: export public colors
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2641 and
https://gitlab.gnome.org/GNOME/gtk/-/issues/2650
2020-04-23 14:24:46 +02:00
Jakub Steiner
1f9f370346 Merge branch 'wip/jimmac/gtk3-uniform-checkboxes' into 'gtk-3-24'
Wip/jimmac/gtk3 uniform checkboxes

See merge request GNOME/gtk!1748
2020-04-23 12:13:53 +00:00
Jakub Steiner
30906f3240 Adwaita: lower glyph contrast for checkboxes
- stylistic choice didn't sit well with majority of the design team
2020-04-23 13:57:58 +02:00
Emin Tufan Çetin
35b9677006 Update Turkish translation 2020-04-21 10:58:14 +00:00
Guillaume Bernard
8f7f6bffbc Update French translation 2020-04-20 20:56:21 +00:00
Rafael Fontenelle
fc3bb14b82 Update Brazilian Portuguese translation 2020-04-20 20:47:19 +00:00
Daniel Mustieles
d36da44f2b Updated Spanish translation 2020-04-20 15:54:29 +02:00
Emmanuele Bassi
95ea8fd932 Merge branch 'ci-version-check' into 'gtk-3-24'
Add check on build system version

See merge request GNOME/gtk!1723
2020-04-19 18:33:13 +00:00
Nelson Benítez León
b01f371ce6 FileChooserButton: query 'display name' also for unbookmarked files
Do also the async file info query for remote files when they
are not bookmarked, because otherwise "None" will be shown as
file name (and fallback text generic icon will be used).

The remote file was already browsed by the file chooser
instance when selecting it, so querying the display name
again should be using gio cache and not be slow.

Even if it's were slow it's better than showing 'None'
which makes it seem as if nothing was selected.

Fixes #1966
2020-04-19 14:16:02 -04:00
Emmanuele Bassi
93faac9d8e Add check on build system version
Since we're shipping both Meson and Autotools build systems for GTK3,
and both of them have a version field, it's bound to happen that the
GTK version defined in either build systems will go out of sync.

Let's add a check in both builds so that something will fail before
doing a release in case the versions do not match.
2020-04-19 18:47:57 +01:00
Matthias Clasen
bcf08abef0 meson: bump version 2020-04-19 09:29:54 -04:00
Anders Jonsson
15d71079fe Update Swedish translation 2020-04-18 20:47:01 +00:00
Matthias Clasen
01ca0d2f53 Merge branch 'BUG_sibebarplaces_avoid_click_focus_GTK3' into 'gtk-3-24'
GtkPlacesSidebar: avoid location clicks to grab focus

See merge request GNOME/gtk!1714
2020-04-18 19:51:38 +00:00
Nelson Benítez León
7c343a87d1 GtkPlacesSidebar: avoid location clicks to grab focus
Sibebar location rows should not grab focus on click.

Fixes filechooser issue #1469
2020-04-18 14:38:47 -04:00
Piotr Drąg
74a630321b Update Polish translation 2020-04-18 16:32:59 +02:00
Goran Vidović
a79c1f40c6 Update Croatian translation 2020-04-18 13:06:25 +00:00
Dz Chen
609fb27e11 Update Chinese (China) translation 2020-04-18 09:09:08 +00:00
Yuri Chornoivan
d78d8b245f Update Ukrainian translation 2020-04-18 04:57:48 +00:00
Emmanuele Bassi
633f0fa52a Merge branch 'jjardon/3_24_more_licenses' into 'gtk-3-24'
3.24: gtk/gtkaboutdialog: Add some more very common licenses:

See merge request GNOME/gtk!1672
2020-04-17 21:50:45 +00:00
Matthias Clasen
3483a3e134 Merge branch 'BUG_filechooser_async_data_loss_GTK3' into 'gtk-3-24'
GtkFilechooserWidget: prevent oblivious selection of file

See merge request GNOME/gtk!1682
2020-04-17 20:30:07 +00:00
Matthias Clasen
27d7f55aba Merge branch 'macos-esc-fix' into 'gtk-3-24'
Fix quartz input method filtering Esc keypress

See merge request GNOME/gtk!1696
2020-04-15 23:04:04 +00:00
Matt Rose
3236c09d7d Fix quartz input method filtering Esc keypress 2020-04-15 16:48:02 -04:00
Charles Monzat
98918b689e Update French translation 2020-04-15 14:04:04 +00:00
Jiri Grönroos
25c2b8693a Update Finnish translation 2020-04-15 13:57:10 +00:00
Matthias Clasen
0459569b49 Avoid a critical in the Emoji chooser
If event_widget is NULL, just dismiss the popover.

https://gitlab.gnome.org/GNOME/gtk/-/issues/2199
2020-04-14 15:37:59 -04:00
Emin Tufan Çetin
5c7fca7405 Update Turkish translation 2020-04-14 16:06:31 +00:00
Daniel Mustieles
9ea19ea9b0 Updated Spanish translation 2020-04-14 12:46:09 +02:00
Nelson Benítez León
e6ff990145 GtkFilechooserWidget: prevent oblivious selection of file
which could happen after confirming the "file overwrite"
dialog and may result in a different file being overwritten
causing data loss.

The oblivious file selection can be done by a mouse
click or keyboard press sent inadvertently just after
confirming the "file overwrite" dialog.

Fixed by adding a flag to ignore any button/key press
events sent to the file list. We set this flag just
after the user accepts the "file overwrite" dialog,
which means the enclosing GtkfilechooserDialog is about
to get closed. And we restablish the flag when the dialog
is shown again (in its map() handler).

Fixes data loss issue #2288
2020-04-13 16:33:10 -04:00
Aurimas Černius
c8d058137a Updated Lithuanian translation 2020-04-13 22:41:19 +03:00
Anders Jonsson
48088579d8 Update Swedish translation 2020-04-13 18:40:02 +00:00
Matthias Clasen
7360d470c9 Merge branch 'gtk-3-24' into 'gtk-3-24'
Remove the blacklist list in convert-emoji.c since now it is supported

See merge request GNOME/gtk!1681
2020-04-13 15:27:40 +00:00
Mathieu H
73737bcc4f Remove the blacklist list in convert-emoji.c since now it is supported 2020-04-13 15:27:40 +00:00
Yuri Chornoivan
dea11781a5 Update Ukrainian translation 2020-04-13 05:28:06 +00:00
Matthias Clasen
e51cfe2349 Merge branch 'window-set-focus-docstring-fix' into 'gtk-3-24'
window: Fix docstring formatting on 'set-focus' signal

See merge request GNOME/gtk!1677
2020-04-12 22:50:07 +00:00
Collin May
d536fa5aa4 window: Fix docstring formatting on 'set-focus' signal
This comment was added in 93bcca7f02 but missed a
colon so it never actually generated documentation and the nullable annotation
never made it into GObject-introspection language bindings.

This crude regex does not catch any other instances of this mistake. The @
symbol is used to disambiguate signal doc comments from property doc comments,
since property docs usually don't have parameters.

$ pcre2grep -rM '\\* [A-Z][A-Za-z]*:([a-z\-]*):\n +\* @' gtk/
2020-04-12 15:09:54 -07:00
Matthias Clasen
476afca97d Merge branch 'fix-issue-2604' into 'gtk-3-24'
Fix message dialog not shown when the user tries to create a folder but a file...

See merge request GNOME/gtk!1676
2020-04-12 18:31:09 +00:00
Luca Bacci
0352d88b8a Fix message dialog not shown when the user tries to create a folder but a file with the same name exists
Fixes issue #2604
2020-04-12 15:05:18 +02:00
Javier Jardón
adc2f4ad9e 3.24: gtk/gtkaboutdialog: Add some more very common licenses:
- BSD 3-Clause "New" or "Revised" license
- Apache License 2.0
- Mozilla Public License 2.0
2020-04-12 13:11:22 +01:00
sicklylife
15737d7a94 Update Japanese translation 2020-04-12 08:51:04 +00:00
sicklylife
a1f43f53b4 Update Japanese translation 2020-04-12 08:42:56 +00:00
Matthias Clasen
a2b101ba5b Merge branch 'fno-common-3-24' into 'gtk-3-24'
Add a missing extern, to fix building with -fno-common (3.24 branch)

See merge request GNOME/gtk!1632
2020-04-11 15:16:55 +00:00
Matthias Clasen
f9decb0cd6 3.24.18 2020-04-09 18:33:59 -04:00
Emmanuele Bassi
85389c4bcf Merge branch 'docs-urls' into 'gtk-3-24'
docs: Update the links in the FAQ

See merge request GNOME/gtk!1654
2020-04-08 18:18:16 +00:00
Emmanuele Bassi
23d6764a6d docs: Update the links in the FAQ
The GTK website has been updated, and we don't use Bugzilla any more.

Fixes: #2593
2020-04-08 18:47:20 +01:00
Matthias Clasen
f8dd5b6b84 Merge branch 'wip/smcv/missing-xinclude-content' into 'gtk-3-24'
[gtk3] Add miscellaneous unpackaged files to dist tarball

See merge request GNOME/gtk!1653
2020-04-08 15:10:02 +00:00
Simon McVittie
c37bbb2641 Add miscellaneous unpackaged files to dist tarball
Various files are in git but not in dist tarballs. Some of them look
like potentially useful references for downstream distributors.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-04-08 13:43:28 +01:00
Simon McVittie
76b87660ba examples: Add exampleapp.desktop to dist tarballs
This should fix the last known instance of "MISSING XINCLUDE CONTENT"
in the generated documentation when using srcdir != builddir with
Autotools.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/723
Bug-Debian: https://bugs.debian.org/672369
2020-04-08 13:38:59 +01:00
Matthias Clasen
a5dc7bbfc1 Merge branch 'wip/warn-less-about-temps' into 'gtk-3-24'
wayland: Move warning about transient-less temporaries to map()

See merge request GNOME/gtk!1650
2020-04-08 11:02:26 +00:00
Jonas Ådahl
cf060b4c7d wayland: Move warning about transient-less temporaries to map()
We shouldn't warn in a funtion that seemingly only checks how something
eventually should be mapped.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2589
2020-04-08 11:43:49 +02:00
Matthias Clasen
99bae0fb5f Merge branch 'wip/wayland-unconfigured-cut-shadow-2' into 'gtk-3-24'
wayland: Always store unconfigured size

See merge request GNOME/gtk!1638
2020-04-07 11:31:56 +00:00
Emmanuele Bassi
67866bd8bc Merge branch 'wip/smcv/reproducible-resources' into 'gtk-3-24'
build: Generate gdk.gresource.xml in sorted order

See merge request GNOME/gtk!1644
2020-04-07 11:06:59 +00:00
Simon McVittie
b35cd705a7 build: Generate gdk.gresource.xml in sorted order
The order in which the resources get embedded matters for reproducible
builds. In the Meson build system, gen-gdk-gresources-xml already sorts
the list, but in the Autotools build system they were previously taken
in readdir() order.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-04-07 10:50:04 +01:00
Jonas Ådahl
c5d9c8be2b wayland: Always store unconfigured size
This means it'll always be as up to date GdkWindow::width/height. We
still skip the resize for non-configured windows though, to avoid
mapping with the wrong size.

The commit f06ee688fe also accidentally
removed the unconfigured size setting completely, so this essentially
adds it back, but always sets it.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2582
2020-04-07 09:00:26 +02:00
Matthias Clasen
cdd4349bfe Merge branch 'wip/fix-epiphany-and-libreoffice-menus' into 'gtk-3-24'
Fix some Epiphany and LibreOffice menus

See merge request GNOME/gtk!1640
2020-04-06 20:34:30 +00:00
Jonas Ådahl
f06ee688fe wayland: Don't inhibit premature resize for popups
So now we essentially only inhibit the premature resize for toplevel
windows, where it is most crucial. For popups, this didn't work for two
reasons: we relied on the owner of the popup (application) to resize
according to the configured size. For custom popup operators like
Epiphany and LibreOffice, this didn't work out well, since they simply
didn't.

Making gdk do it for them in case they didn't themself did make the
popups show up properly, but there were still some weirdness in
LibreOffice where tooltips didn't still didn't get the right size. So,
even though the size set by application may be different from the one
later configured by the display server, let the applications have their
way and see their resize result immediately. It's fairly likely to be
what they eventually get anyway.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2583
2020-04-06 22:02:02 +02:00
Jonas Ådahl
92aa63c203 wayland: Set unconfigured size on impl construction
Who knows who might use this for something, so lets make the
unconfigured size slightly more predictable. This doesn't fix anything
known to be broken though.
2020-04-06 22:01:12 +02:00
Matthias Clasen
dc79e07228 Merge branch 'wip/smcv/wayland-configure-positive-sizes' into 'gtk-3-24'
wayland: Guard against nonsense sizes being configured

See merge request GNOME/gtk!1639
2020-04-06 13:00:30 +00:00
Simon McVittie
46165b52e5 wayland: Guard against nonsense sizes being configured
With the fixes from !1638, it shouldn't be possible for this to happen
any more. However, non-positive sizes make no sense regardless, so if
this does somehow happen, let's make sure *something* reasonable happens.

The practical result of this assertion being hit is that we emit a
critical warning and then behave the same as if !1634 had been merged,
which is known to solve the issue for the submitter.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-04-06 13:33:09 +01:00
Matthias Clasen
e6ec3f4b95 Merge branch 'wip/wayland-unconfigured-cut-shadow' into 'gtk-3-24'
Fix restoring size from past sessions

See merge request GNOME/gtk!1637
2020-04-06 11:49:45 +00:00
Jonas Ådahl
814d1e7f06 wayland: Store unconfigured size without margin
We get the unconfigured size request either with or without the shadow
margin already configured, so to get some consistency with the 'saved
size', cut away any potential shadow margin from the size before
storing.

Then when using, add it back, so we always create a configure event with
the correct size.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2576
2020-04-06 12:13:01 +02:00
Jonas Ådahl
2e5f344e3c wayland: Always update unconfigured size
If the window size didn't change, we should still update the
unconfigured size as the window size might not be up to date.
2020-04-06 12:05:58 +02:00
Jonas Ådahl
a4984cfd40 wayland: Use helpers to add/remove margins from sizes 2020-04-06 12:05:13 +02:00
John Ralls
26c75f31f4 Merge Thomas Holder's raise transient window into gtk-3-24. 2020-04-05 14:20:27 -07:00
Matthias Clasen
7fedb39b4b Merge branch 'custom-surface-resize' into 'gtk-3-24'
Do not require an initial configure for custom Wayland surfaces

See merge request GNOME/gtk!1633
2020-04-05 19:11:19 +00:00
William Wold
5a52af20cb Do not require an initial configure for DnD windows
Fixes #2075
2020-04-05 07:11:45 -04:00
William Wold
12fc9a45ef Do not require an initial configure for custom Wayland surfaces
There is no way for custom Wayland surfaces to get configure events, so an
initial configure event should not be required to resize a custom surface.

Fixes #2578.
2020-04-05 05:28:55 -04:00
Martin Storsjö
01d4c29ce3 Add a missing 'extern' attribute, to fix building with -fno-common
With C compilers defaulting to -fcommon, this isn't an issue, but
upcoming compilers (GCC 10 and Clang 11) will default to -fno-common,
ending up with duplicate definitions of this variable.
2020-04-05 00:26:19 +03:00
Ibai Oihanguren Sala
8c97702a07 Update Basque translation 2020-04-04 13:44:01 +00:00
Matthias Clasen
5a0891c69d Merge branch 'gtk-3-24' into 'gtk-3-24'
docs: Do not call GTK APIs if gtk_init_check returns FALSE

See merge request GNOME/gtk!1617
2020-04-04 03:18:01 +00:00
Nicola Fontana
392d4de8a9 docs: Do not call GTK APIs if gtk_init_check returns FALSE
See issue #994.
2020-04-03 22:59:59 +02:00
Rūdolfs Mazurs
4ce11106c8 Update Latvian translation 2020-04-03 20:47:38 +00:00
Matthias Clasen
4480c0ffc6 3.24.17 2020-04-03 13:07:53 -04:00
Matthias Clasen
da1686eb47 Fix build issues with HighContrast theme 2020-04-03 12:54:32 -04:00
Matthias Clasen
eecd33146e Merge branch 'wip/dont-postpone-subsurface-resize' into 'gtk-3-24'
wayland: Don't postpone resizes for subsurfaces

See merge request GNOME/gtk!1620
2020-04-03 16:43:19 +00:00
Jonas Ådahl
749d940887 wayland: Don't postpone resizes for subsurfaces
Subsurfaces won't ever receive a configure event.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2570
2020-04-03 18:04:44 +02:00
Matthias Clasen
c67d0f0d1d Merge branch 'wip/carlosg/fix-surrounding-text-again' into 'gtk-3-24'
imwayland: Clamp the surrounding string end correctly

See merge request GNOME/gtk!1619
2020-04-03 15:39:30 +00:00
Matthias Clasen
0fbc3581bc Merge branch '3.24-meson-bump' into 'gtk-3-24'
meson: Bump to latest version of the 3.24 branch

See merge request GNOME/gtk!1613
2020-04-03 12:25:32 +00:00
Carlos Garnacho
d7fb15c822 imwayland: Clamp the surrounding string end correctly
In the paths where len > MAX_LEN and cursor/anchor are separated by
at least MAX_LEN from text edges, we were clamping the right end of
the surrounding string at MAX_LEN. Oops.

This end anchor may go as far as the string length, although just
up to len - MAX_LEN in real terms (due to the condition above that
caches cursor/anchor positions being near enough the text end).

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2565
2020-04-03 12:57:44 +02:00
Philippe Normand
c010a95d8c meson: Bump to latest version of the 3.24 branch
3.24.16 was tagged without bumping the version in the Meson build definitions.
2020-04-03 10:52:29 +01:00
Matthias Clasen
d5264673cb wayland: Load .Compose in imwayland too
GtkIMContextSimple loads custom compose sequences
in its set_client_window implmentation, so we need
to chain up in order to not lose those.
2020-04-02 17:30:54 -04:00
Matthias Clasen
94a2827ed9 Merge branch 'keyboard-focus' into 'gtk-3-24'
gdk/wayland: Clear modifiers when we lose keyboard focus

See merge request GNOME/gtk!1609
2020-04-02 19:23:36 +00:00
Jan Alexander Steffens (heftig)
c27cb675b7 gdk/wayland: Clear modifiers when we lose keyboard focus
When we `Alt+Tab` away from a GTK application, it loses keyboard focus.
If we don't clear the modifiers, events from other devices that we
receive while unfocused will assume `Alt` is still pressed. This results
in e.g. Firefox navigating through the history instead of scrolling the
page when using the mouse wheel on it.

We don't get any information about modifiers while we are missing
keyboard focus, so assuming no modifiers are active is the best we can
do.

The shell sends us a modifier update immediately before we regain
keyboard focus, so the state shouldn't get out of sync.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2112
2020-04-02 20:45:55 +02:00
Matthias Clasen
263467ca3d Merge branch 'wip/window-state-change-fixes' into 'gtk-3-24'
Some Wayland window state change resize fixes

See merge request GNOME/gtk!1606
2020-04-02 17:25:31 +00:00
Jonas Ådahl
3b91c20eac wayland: Add margin to saved size when restoring size
We're normally going from a fixed size to a floating state when we're
using the saved size, meaning we're practically always going towards a
state where the shadow margin will non-empty. However, if we don't
include any margin when creating a new configure request, we'll end up
resizing to a slightly smaller size as gtk will cut off the margin from
the configure request when changing the window widget size.

This wasn't visible when e.g. going from maximized to floating, as we'd
add the shadow margin at a later point, which would effectively "grow"
the widnow size, but when we're going from tiled to floating, we both
start and end with a non-empty shadow margin, meaning we'd shrink ever
so slightly every time going between tiled and floating.
2020-04-02 18:10:03 +02:00
Jonas Ådahl
50aa947e51 wayland: Treat being tiled as maximized when saving size
We should never save a size when we're tiled, just as we shouldn't when
we're maximized. This fixes returning to the correct floating size after
having been tiled or maximized.
2020-04-02 18:10:03 +02:00
Jonas Ådahl
04b7853a38 wayland: Respect fixed size when resizing
If a window is configured with a fixed size (it's tiled, maximized, or
fullscreen), ignore any resize call that doesn't respect this. The set
size will instead be saved, when appropriate, so that the new size is
used when e.g. unmaximizing.

This makes it possible to call 'gtk_window_resize()' while the window is
maximized, without the window actually changing size until it's
unmaximized. Changing size to a non-maximized size is a violation of the
xdg-shell protocol.
2020-04-02 18:10:03 +02:00
Jonas Ådahl
7f12dc2b66 wayland: Postpone window resize requests until configured
An application may want to set a fallback size of a window while still
mapping maximized. This is done by calling gtk_window_resize() before
gtk_window_maximize() and before gtk_window_show(). When the window is
mapped, it should have a maximized size, and if it eventually is
unmaximized, it should fall back to the size from the earlier
gtk_window_resize() call.

What happens before this commit is that the initial window size ends up
respecting the first gtk_window_resize() dimensions, and not the window
dimension configured by the Wayland display server (i.e. maximized
dimensions).

Fix this by postponing any configure events until we received our
configuration from the display server. If we got one with a fixed size
(e.g. we're maximized, tiled etc), we use that, otherwise we look at the
one that was previously configured by gtk which corresponds to the
"preferred" size when not being maximized.

This fixes Firefox being started in a maximized state when using the
Wayland backend.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2538
2020-04-02 18:09:56 +02:00
Thomas Holder
e278f38905 macOS: fix #2436 raise transient window on focus 2020-04-02 17:57:18 +02:00
Matthias Clasen
f5b393fef0 Merge branch 'wip/smcv/libdir-independent-valgrind-suppressions-gtk3' into 'gtk-3-24'
[3.x] supp: Use a single suppressions file for lib, lib64 and multiarch

See merge request GNOME/gtk!1604
2020-04-02 14:47:16 +00:00
Simon McVittie
8afd623989 supp: Use a single suppressions file for lib, lib64 and multiarch
In addition to the traditional library directory lib and the 64-bit
multilib directory lib64, this will cover Debian-style multiarch
(lib/x86_64-linux-gnu etc.), Arch Linux 32-bit (lib32), x32 and
various others.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-04-02 09:30:44 +01:00
Jiri Grönroos
b62860b1b8 Update Finnish translation 2020-04-01 14:51:22 +00:00
Matthias Clasen
58cfd44307 Merge branch 'BUG_filechooser_new_folder_focus_GTK3' into 'gtk-3-24'
gtkfilechooserwidget: set 'New folder' button focus-on-click

See merge request GNOME/gtk!1595
2020-04-01 04:28:22 +00:00
Matthias Clasen
d8ab9c4259 Merge branch 'BUG_buttons_with_menu_onclick_GTK3' into 'gtk-3-24'
GtkMenuButton: disable focus-on-click

See merge request GNOME/gtk!1596
2020-04-01 02:56:51 +00:00
Nelson Benítez León
527a99e598 GtkMenuButton: disable focus-on-click
As general rule, all buttons that launch a menu should
not grab focus on click, because otherwise when the menu
is closed the focus goes back to the button instead of
the previously focused widget, which is the one the user
was interacting with.

GtkScaleButton and GtkVolumeButton set focus-on-click
to FALSE for this same reason.

Fixes #2557
2020-03-31 21:00:32 -04:00
Nelson Benítez León
3997cdf2f4 gtkfilechooserwidget: set 'New folder' button focus-on-click
As general rule, all buttons that launch a menu should
not grab focus on click, because otherwise when the menu
is closed the focus goes back to the button instead of
the previously focused widget, which is the one the user
was interacting with.

So this is also the case for the 'New Folder' button on
the filechooser.

Fixes #2557
2020-03-31 20:15:34 -04:00
John Ralls
56eeda6c7c Merge branch MR1570 into gtk-3-24. 2020-03-31 15:46:26 -07:00
Nelson Benítez León
6d98edf89f filechooser: set default widget early for 'Rename' popover
because otherwise this second[1] popover will not be
able to save the filechooser default widget (the 'save'
button) because the first popover has not yet restablish
it (as will be done on popover's unmap handler).

[1] second because 'Rename' popover is launched from inside
    the 'file properties' popover.

Fixes #2555
2020-03-31 14:32:03 -04:00
Matthias Clasen
21e0e3f863 Merge branch 'wip/jimmac/HC-redesign-gtk3' into 'gtk-3-24'
HC: derive from Adwaita

See merge request GNOME/gtk!1587
2020-03-30 17:48:22 +00:00
Emmanuele Bassi
9fdc64f7fc Merge branch 'wip/hadess/no-gauto-portal' into 'gtk-3-24'
Remove g_auto usage

See merge request GNOME/gtk!1588
2020-03-30 16:22:58 +00:00
Bastien Nocera
8dfb1d197a gtkprivate: Remove g_auto usage
Fixes: 93ab478af1
2020-03-30 17:50:50 +02:00
Bastien Nocera
fa16b682ef colorpickerportal: Remove g_auto usage
Fixes: 7b1b3fa0cb
2020-03-30 17:50:09 +02:00
Jakub Steiner
98148d9d60 HC: derive from Adwaita
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1450
2020-03-30 16:49:44 +02:00
Yosef Or Boczko
afe4f283ed Update Hebrew translation 2020-03-29 15:28:00 +00:00
Yosef Or Boczko
2b0155dbc4 Update Hebrew translation 2020-03-29 15:22:36 +00:00
Matthias Clasen
7624f07764 3.24.16 2020-03-27 16:51:18 -04:00
Matthias Clasen
a923ee9b87 Don't forget to dist gtktexttagprivate.h 2020-03-27 16:50:15 -04:00
Matthias Clasen
dca7dc8c9c 3.24.15 2020-03-27 15:01:23 -04:00
Mantas Kriaučiūnas
c62da2bdaa Update Lithuanian translation 2020-03-27 18:53:21 +00:00
Matthias Clasen
5e7650729b Merge branch 'wip/hadess/portal-select-folders' into 'gtk-3-24'
filechoosernativeportal: Allowing selecting folder(s)

See merge request GNOME/gtk!1523
2020-03-27 18:34:02 +00:00
Matthias Clasen
c716776b8f Merge branch 'wip/jimmac/plug-holes-gtk3' into 'gtk-3-24'
Adwaita: work around holes in unfocused windows

See merge request GNOME/gtk!1574
2020-03-26 18:59:12 +00:00
Jakub Steiner
f4c705b404 Adwaita: work around holes in unfocused windows
- works around holes in rounded corners of backdrop windows

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2537
2020-03-26 19:09:57 +01:00
LecrisUT
788fef5e80 Monitor_added signal after configure
Fixed order of monitor_added signal for Quartz display.
2020-03-26 13:06:45 +09:00
Matthias Clasen
6f372a811b Merge branch 'translate-geometry' into 'gtk-3-24'
Translate geometry with offscreen windows

See merge request GNOME/gtk!1566
2020-03-26 01:44:37 +00:00
Alberto Fanjul
842599e0f9 gdk/wayland: Control translate from parent geometry
offscreen windows return NULL for its parent
2020-03-25 23:23:23 +01:00
Matthias Clasen
58eb628571 wayland: Support scales up to 400% for cursors
Suggested in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1503
2020-03-25 11:21:50 -04:00
Bastien Nocera
35fec1c6b2 filechoosernativeportal: Allowing selecting folder(s)
Use the "directory" portal option when asked to select folders.
2020-03-23 15:41:10 +01:00
Bastien Nocera
93ab478af1 Add portal version checking helper
Add gtk_get_portal_interface_version() to check the version of a portal.
2020-03-23 15:05:40 +01:00
Bastien Nocera
f70f2d7cae colorpickerportal: Don't throw warnings on missing version
If the version can't be fetched, don't throw a warning.
2020-03-23 14:59:51 +01:00
Bastien Nocera
4c71bf74f1 colorpickerportal: Simplify portal version fetching 2020-03-23 14:59:51 +01:00
Bastien Nocera
7b1b3fa0cb colorpickerportal: Use convenience function to fetch uint
Rather than open coding it.
2020-03-23 14:59:51 +01:00
Benjamin Otte
7f5fd67d3a Merge branch 'wip/albfan/protect-begin_move_drag' into 'gtk-3-24'
Define begin_move_drag for GdkOffScreenWindow

See merge request GNOME/gtk!1548
2020-03-21 10:06:35 +00:00
Alberto Fanjul
46b92412a7 Define begin_move_drag
Avoid crashes calling it on drag and drop gestures

fixes #2532
2020-03-21 10:44:08 +01:00
Matthias Clasen
72689c52a5 Merge branch 'adwaita-tnum' into 'gtk-3-24'
theme: use tabular figures where appropriate

See merge request GNOME/gtk!1493
2020-03-20 20:35:57 +00:00
Carlos Garnacho
2647dc1d98 Merge branch 'imm-context-use-after-free' into 'gtk-3-24'
Fix crash with certain IME

See merge request GNOME/gtk!1290
2020-03-20 15:05:43 +00:00
Mantas Kriaučiūnas
837febc3c3 Update Lithuanian translation 2020-03-20 09:45:38 +00:00
Matthias Clasen
9944d66165 Merge branch 'wip/chergert/gtk3-speedup-char_is_invisible' into 'gtk-3-24'
GTK3: short-circuit char visibility check when possible

See merge request GNOME/gtk!1536
2020-03-18 22:15:24 +00:00
Christian Hergert
9fc7c3b1b3 textbtree: short-circuit visibility check when possible
If we have never seen a GtkTextTag in the GtkTextTagTable with the
invisible bit set, then we do not need to go through the process of
checking the accumulated tags.

Not using invisible tags is overwhelmingly the common case.
2020-03-18 12:56:19 -07:00
Christian Hergert
2aba6f0ba4 texttag: avoid use of g_signal_emit_by_name()
This avoids looking up the signal by name and instead uses the saved
signal identifier from gtktexttagtable.c
2020-03-18 12:50:32 -07:00
Christian Hergert
4f0842c713 texttagtable: move private functions to gtktexttagtableprivate.h
This makes backporting changes from 4.x a bit easier.
2020-03-18 12:42:40 -07:00
Emmanuele Bassi
e77139c6bb Merge branch 'wip/carlosg/fix-surrounding-text' into 'gtk-3-24'
imwayland: Fix typo in code

See merge request GNOME/gtk!1533
2020-03-18 16:30:16 +00:00
Carlos Garnacho
965a85a0d3 imwayland: Fix typo in code
To find the middle of the string, we should check both cursor/anchor.
This is actually a backport of commit 8fc360dac5 in master.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2522
2020-03-18 16:59:58 +01:00
Jakub Steiner
5be08a4d09 Adwaita: dark switches/check/radios
- unescape variables (gtk3 didn't raise warnings like gtk4, but it was broken)
2020-03-18 13:07:05 +01:00
Jakub Steiner
71bdf20cff Adwaita: dark switches/check/radios
- lighten up radios, switches and checkboxes

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2461
2020-03-17 11:19:50 +01:00
Emmanuele Bassi
d2931309a5 Merge branch 'respect-text-len' into 'gtk-3-24'
imwayland: Honour len argument in gtk_im_context_wayland_set_surrounding

See merge request GNOME/gtk!1528
2020-03-16 16:10:00 +00:00
Robert Mader
3c28751dee imwayland: Honour len argument in gtk_im_context_wayland_set_surrounding
Clients may pass not `NULL`-terminated strings as the function takes a
`len` argument. Use that argument.
2020-03-16 16:36:30 +01:00
Matthias Clasen
88e71646de Merge branch 'tnum-gtk-3-doc' into 'gtk-3-24'
document font-feature-settings CSS property

See merge request GNOME/gtk!1483
2020-03-14 00:28:19 +00:00
Matthias Clasen
8b5c8a2d06 Merge branch 'ci-gtk3-update' into 'gtk-3-24'
Update the CI pipeline for GTK3

See merge request GNOME/gtk!1508
2020-03-13 18:44:18 +00:00
Matthias Clasen
41330b6c03 testsuite: Handle icontheme test better
Skip just the failing tests in release builds.
2020-03-13 16:31:33 +00:00
Emmanuele Bassi
aac214f1b0 testsuite/gtk: Add xfail tests
Some tests are expected to fail.

Some tests are expected to fail in non-debugging builds.

The icontheme test is the latter.
2020-03-13 16:30:06 +00:00
Emmanuele Bassi
b4808c187f Silence a compiler warning
GCC complains with boxed out arguments that may be unset.
2020-03-13 16:05:13 +00:00
Emmanuele Bassi
db1be15699 Silence compiler warnings in release builds
Declare debug-only variables inside a G_ENABLE_DEBUG conditional block.
2020-03-13 16:03:08 +00:00
Emmanuele Bassi
1b255dd812 Handle a missing enumeration value 2020-03-13 15:59:46 +00:00
Emmanuele Bassi
c08908b488 Fix build when G_ENABLE_DEBUG is undefined 2020-03-13 15:51:57 +00:00
Emmanuele Bassi
7c23119e8f Use ifdef when checking G_ENABLE_DEBUG
Don't use `if`, as we don't unconditionally define the symbol.
2020-03-13 15:51:57 +00:00
Emmanuele Bassi
7687f9a06f docs: Remove redundant gtk-doc stanza 2020-03-13 15:51:57 +00:00
Emmanuele Bassi
f699a299ad ci: Build API reference separately
We don't want to spend a lot of time on it just to check the build.
2020-03-13 15:51:57 +00:00
Emmanuele Bassi
b68dde91b8 ci: Add a Debian build
We want to test the build on multiple Linux distributions.
2020-03-13 15:51:57 +00:00
Emmanuele Bassi
e5be27f756 ci: Add a Debian-based image
We want to test GTK3 on Debian as well.
2020-03-13 15:51:57 +00:00
Emmanuele Bassi
8685538419 ci: Backport the changes to the Docker script
Use the copy from master, which has been fixed to work with Podman.
2020-03-13 15:51:57 +00:00
Emmanuele Bassi
14dba9545e ci: Build both static and shared libraries at once
There's no need to have two separate CI jobs: Meson can build both
libraries at the same time.
2020-03-13 15:51:57 +00:00
Matthias Clasen
603c3ba533 Merge branch 'gtk-3-24' into 'gtk-3-24'
Fix for issue #2497, see https://gitlab.gnome.org/GNOME/gtk/issues/2497

See merge request GNOME/gtk!1509
2020-03-13 13:54:28 +00:00
Mantas Kriaučiūnas
5c2ab46184 Update Lithuanian translation 2020-03-13 13:19:53 +00:00
Matthias Clasen
bf315637e4 Merge branch 'fix-issue-2503' into 'gtk-3-24'
Fix spelling of AppKit framework in `gdkquartz-gtk-only.h`

See merge request GNOME/gtk!1513
2020-03-11 15:34:57 +00:00
Daniel Korostil
1d5b4a80b3 Update Ukrainian translation 2020-03-10 22:05:00 +00:00
Daniel Korostil
6cf91b5bc0 Update Ukrainian translation 2020-03-10 22:02:19 +00:00
Torsten Maehne
245ea77da6 Fix spelling of AppKit framework in gdkquartz-gtk-only.h
gtk+-3.24.14 with quartz backend fails to compile on macOS when using
a case-sensitive file system. The cause for the compilation error is a
simple typo in line 26 of `gdk/quartz/gdkquartz-gtk-only.h`. The
AppKit framework is included there with `<Appkit/Appkit.h>` instead of
`<AppKit/AppKit.h>`, which is fixed with this commit.

References: https://trac.macports.org/ticket/60168
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2503
2020-03-10 19:21:23 +01:00
Kjartan Maraas
6de41e9383 Update Norwegian Bokmål translation 2020-03-09 14:26:55 +00:00
sicklylife
d413bbc5f5 Update Japanese translation 2020-03-09 12:47:59 +00:00
Eivind Naess
2c85be990d Fix for issue #2497, see https://gitlab.gnome.org/GNOME/gtk/issues/2497
The 'selection-changed' signal is emitted unconditionally, even in the case
when there is no selection to be cleared. As a result, the subscriber receives
the initial signal and if he calls gtk_file_chooser_get_uri(), no value is
currently selected.
2020-03-08 18:54:10 -07:00
Tim Sabsch
d1c6766ae1 Update German translation 2020-03-07 17:35:44 +00:00
Tim Sabsch
c7b91bc7ae Update German translation 2020-03-07 17:31:52 +00:00
sicklylife
494bc00687 Update Japanese translation 2020-03-03 12:10:47 +00:00
sicklylife
58c36527d0 Update Japanese translation 2020-03-03 12:04:55 +00:00
Lukas K
82b9be3297 theme: use tabular figures where appropriate
Set font-feature-settings: "tnum" on spinbuttons, progress bars and
scales

fixes #1478
2020-02-29 14:33:49 +01:00
Matthias Clasen
4c027d458b Merge branch 'wip/hadess/fix-remote-filechooser' into 'gtk-3-24'
Fix crasher/warnings when browsing remote filesystems

See merge request GNOME/gtk!1489
2020-02-28 16:17:41 +00:00
Bastien Nocera
53b0c5fd88 filechooser: Fallback if content-type unavailable
Fallback to fast-content-type if the content-type attribute isn't
available, as is the case for most remote filesystems.

Closes: #2482
2020-02-28 16:59:19 +01:00
Bastien Nocera
22b0400f5e filechooser: Fix crash when file has no content-type
This might happen for slow filesystems where a fast-content-type might
be provided instead. Don't try to manipulate that content_type if it's
NULL, otherwise we'll either throw warnings (at best) or crash (at
worse).
2020-02-28 16:56:29 +01:00
Nathan Follens
3165c3c257 Update Dutch translation 2020-02-27 11:08:52 +00:00
Danial Behzadi
78dca145f8 Update Persian translation 2020-02-26 22:59:11 +00:00
Danial Behzadi
cca54a0d93 Update Persian translation 2020-02-26 22:20:17 +00:00
Lukas K
e618a49d71 document font-feature-settings CSS property
introduced in 2e2b6478
2020-02-26 21:51:31 +01:00
Matthias Clasen
0c51c66bea Merge branch 'tnum-gtk-3' into 'gtk-3-24'
css: add support for font-feature-settings

See merge request GNOME/gtk!1478
2020-02-26 02:03:31 +00:00
Lukas K
2e2b647833 css: add support for font-feature-settings 2020-02-25 22:54:00 +01:00
Matthias Clasen
f2d369732b Merge branch '138-gtk3-install-valgrind-suppressions' into 'gtk-3-24'
Add Valgrind suppressions files

See merge request GNOME/gtk!1468
2020-02-24 00:07:29 +00:00
Philip Chimento
b47ddb09ad Add Valgrind suppressions files
This copies the suppressions files from the master branch.

See: #138
2020-02-23 15:39:12 -08:00
Changwoo Ryu
4601e0e7ec Update Korean translation 2020-02-22 10:47:35 +00:00
Matthias Clasen
429a6287e0 Merge branch 'wip/carlosg/selection-null-checks' into 'gtk-3-24'
Protect against NULL selection data from clients

See merge request GNOME/gtk!1452
2020-02-20 13:58:12 +00:00
Carlos Garnacho
a097ca0906 gdk/wayland: Harden against NULL selection content
If NULL is returned, probably the client shouldn't advertise the
mimetype. Make it sure we forget entirely about the attempt to
cache this mimetype, as it'll be mistaken as pending otherwise.

Dropping this cached selection will in consequence close the fd
of all pending readers, which seems appropriate for NULL content.

https://gitlab.gnome.org/GNOME/gtk/issues/2456
2020-02-20 14:09:00 +01:00
Carlos Garnacho
6893118510 gdk/wayland: Avoid invalid memory access on cancellation
The only way to have G_IO_ERROR_CANCELLED in the write callback
goes through having the array of pending writers already cleared.
It should not access the invalid AsyncWriteData and StoredSelection
in that case.
2020-02-20 14:09:00 +01:00
Christoph Reiter
81ef7eb30b Revert "CI: Disable building man pages in MSYS2 to work around docbook.xsl breakage"
This reverts commit 09ec272d47.

This got fixed in MSYS2
2020-02-19 07:40:48 +01:00
Jakub Steiner
0ae09a2d44 Merge branch 'wip/fmuellner/circular-osd-buttons' into 'gtk-3-24'
Adwaita: Leave .circular .osd buttons alone!

See merge request GNOME/gtk!1448
2020-02-18 21:34:17 +00:00
Florian Müllner
dc6ba8d688 Adwaita: Leave .circular .osd buttons alone!
.osd suggests a particular color/background/hover style, while .circular
only suggests roundness. So for buttons that use both classes, make sure
the former takes precedence with regard to background/hover.
2020-02-18 20:37:53 +01:00
Emmanuele Bassi
369fd7734b Merge branch 'infobar-content-area-type' into 'gtk-3-24'
[3.24] GtkInfoBar/GtkDialog: Add `type Gtk.XXX` annotations for headerbar/action_area/content_area getters

See merge request GNOME/gtk!1446
2020-02-18 10:57:48 +00:00
Sebastian Dröge
d9fc2bffdd GtkDialog: Add type Gtk.XXX annotations for return values of action_area/headerbar getters 2020-02-18 10:51:20 +02:00
Sebastian Dröge
1f96d57a0f GtkInfoBar: Add type Gtk.Box annotation for action_area/content_area getters 2020-02-18 10:45:34 +02:00
Matthias Clasen
fab213a5f9 3.24.14 2020-02-17 12:30:04 -05:00
Ignacio Casal Quinteiro
63b061684d Merge branch 'gtk-3-24-fix-runtime-assertions' into 'gtk-3-24'
Prevent Quartz/CoreGraphics runtime assertion failures. (GTK 3)

See merge request GNOME/gtk!1442
2020-02-17 15:49:42 +00:00
David Hogan
a1720b97a4 Prevent Quartz/CoreGraphics runtime assertion failures.
gdk_window_impl_quartz_release_context () can be called with a NULL CGContextRef. This causes CoreGraphics assertion failures when debugging a Gtk application in Xcode, as the code was blindly passing that NULL to CGContextRestoreGState () and CGContextSetAllowsAntialiasing (). Given that the matching pair of CGContextSaveGState () and CGContextSetAllowsAntialiasing () calls are already checking for a NULL CGContextRef, it seems reasonable to wrap these calls in a NULL check.
2020-02-17 10:02:50 +11:00
Asier Sarasua Garmendia
1c4d5fbe20 Update Basque translation 2020-02-16 20:03:14 +00:00
Claude Paroz
878be85d0c Update French translation 2020-02-16 19:59:25 +00:00
Carlos Garnacho
0e5d7c6323 Merge branch 'enable' into 'gtk-3-24'
imwayland: Fix enabling and disabling of text inputs

See merge request GNOME/gtk!1354
2020-02-15 12:47:55 +00:00
Dorota Czaplejewicz
a7c17ca0c5 imwayland: Do not send events while text input is inactive. 2020-02-15 13:10:34 +01:00
Dorota Czaplejewicz
601b7c8edf imwayland: Use common function to enable text input
Enabling text input needs to send the supported capabilities.
It's easiest to ensure that by using a single enable function.
2020-02-15 13:10:34 +01:00
Dorota Czaplejewicz
fc437410ce imwayland: Move release handling after enable
In preparation for the commit which calls enable in the release handler.
2020-02-15 13:10:34 +01:00
Matthias Clasen
56ee5f03c7 Merge branch 'wip/carlosg/simultaneous-clipboard-access-3.24' into 'gtk-3-24'
gdk/wayland: Handle simultaneous selection requests

See merge request GNOME/gtk!1438
2020-02-14 23:32:07 +00:00
Carlos Garnacho
2ba067e3bc gdk/wayland: Handle simultaneous selection requests
Cache separately the selection contents for each given window/selection/atom
combination, and keep the requestors separate for each of those.

This allows us to incrementally request multiple mimetypes, and dispatch
the requestors as soon as the data is up. This stored selection content is
cached until the selection owner changes, at which point all pending readers
could get their transfers cancelled, and the stored content for the selection
forgotten.
2020-02-14 21:06:59 +01:00
Matthias Clasen
86ac6d447c Merge branch 'recursive-search' into 'gtk-3-24'
GtkSearchEngineSimple: Disable recursive search

See merge request GNOME/gtk!1356
2020-02-14 13:15:07 +00:00
Matthias Clasen
343e9cfad4 Merge branch '1464-tree-view-expander-arrows-no-longer-positioned-vertically-centered-correctly' into 'gtk-3-24'
Resolve "Tree view expander arrows no longer positioned (vertically centered) correctly"

See merge request GNOME/gtk!1434
2020-02-14 12:30:59 +00:00
Emmanuele Bassi
326df4840f Merge branch 'gtk-3-24' into 'gtk-3-24'
Fixed OpenGL extension detection for extensions promoted to OpenGL core. (Gtk 3.24)

See merge request GNOME/gtk!1422
2020-02-14 11:32:11 +00:00
António Fernandes
90a006b362 treeview: Prevent fuzzy centered expander arrows
We want expander arrows to be vertically centered in their row, so we
pass the cell area's height to the renderer.

However, if the cell area's height is an odd number while the
"expander-size" style property is an even number, or vice versa, the
arrow will be centered in a half pixel, and fuzzily rendered.

So, round the render height to the same parity as the expander-size.

(This is not necessary for the arrow width because it's assumed equal
to the "expander-size" style-property.)
2020-02-14 08:38:29 +00:00
António Fernandes
5d46f3c2e7 treeview: Respect expander-size style property.
An expander arrows's render width is supposed to be derived from the
"expander-size" style property.

However, we are actually rendering it for a width equal to
expander-size + 1. This results in ugly blurry rendering.

There is a comment justifying this "+ 1", which has been there for
almost 2 decades. But the justification doesn't seem to apply to
the current code, so the original motivation is likely obsolete.

Let's remove this "+ 1" to render the arrow to a width exactly equal
to the "expander-size" style property.
2020-02-14 08:38:29 +00:00
António Fernandes
0494090afa Revert "treeview: respect expander-size style property"
This reverts commit d6a29e1b8c.

It fixed blurry rendering of expander arrows.

However, it also introduced a regression in that the arrows are no
longer vertically centered if rows are taller than twice the
expander-size style property.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1464
2020-02-14 08:38:29 +00:00
David Hogan
66e2e9c02a Fixed OpenGL extension detection for extensions promoted to OpenGL core.
For a given OpenGL context, macOS in particular does not support enumeration / detection of OpenGL features that have been promoted to core OpenGL functionality. It is possible other drivers are the same. This change assumes support for GL_ARB_texture_non_power_of_two with OpenGL 2.0+, GL_ARB_texture_rectangle with OpenGL 3.1+ and GL_EXT_framebuffer_blit with OpenGL 3.0+. I failed to find definitive information on whether GL_GREMEDY_frame_terminator has been promoted to OpenGL core, or whether GL_ANGLE_framebuffer_blit or GL_EXT_unpack_subimage have been promoted to core in OpenGL ES. This change results in a significant GtkGLArea performance boost on macOS.

Closes #2428
2020-02-14 17:51:22 +11:00
Matthias Clasen
011dcf828b Merge branch 'wip/muktupavels/info-bar-reftest' into 'gtk-3-24'
fix info-bar-message-types.ui reftest

See merge request GNOME/gtk!1428
2020-02-14 00:19:43 +00:00
Alberts Muktupāvels
840ef37bfd infobar: fix initial window position
Call gtk_widget_set_allocation after chaining up to parent class
to ensure that GtkInfoBar has correct allocation. Otherwise x and y
is set to zero causing wrong window position in gtk_info_bar_realize.

This fixes info-bar-message-types.ui reftest.

https://gitlab.gnome.org/GNOME/gtk/merge_requests/1428
2020-02-14 00:50:27 +02:00
Matthias Clasen
88249f7077 Merge branch 'ci-msys2-disable-man-pages' into 'gtk-3-24'
CI: Disable building man pages in MSYS2 to work around docbook.xsl breakage

See merge request GNOME/gtk!1432
2020-02-13 20:37:11 +00:00
Christoph Reiter
09ec272d47 CI: Disable building man pages in MSYS2 to work around docbook.xsl breakage
MSYS2 issue: https://github.com/msys2/MINGW-packages/issues/6194
2020-02-13 20:35:57 +01:00
Daniel Mustieles
30367521a8 Updated Spanish translation 2020-02-13 16:34:31 +01:00
Matthias Clasen
277c943d63 Merge branch 'mcatanzaro/#2424' into 'gtk-3-24'
window: prepare for window destruction after gtk_window_close()

See merge request GNOME/gtk!1407
2020-02-11 16:59:48 +00:00
Emmanuele Bassi
418b80e6c8 Merge branch 'private-code' into 'gtk-3-24'
Use `wayland-scanner private-code` in autotools build

See merge request GNOME/gtk!1295
2020-02-11 16:35:30 +00:00
Emmanuele Bassi
a70ecff82d Merge branch 'meson_warn' into 'gtk-3-24'
Revert "Force the loadable module suffix on the print backend modules."

See merge request GNOME/gtk!1345
2020-02-11 16:33:44 +00:00
Michael Catanzaro
fe2370a5ba window: prepare for window destruction after gtk_window_close()
Epiphany is doing something weird after calling gtk_window_close(),
because by the time the callback executes, the window has no GdkWindow.
Frankly, I don't know what's happening there, but we should probably not
crash.

Fixes #2424
2020-02-10 22:09:10 -06:00
Emmanuele Bassi
3a17e80061 Revert "Force the loadable module suffix on the print backend modules."
This reverts commit ee448db031.

The `name_suffix` argument is already set, and by setting it twice we're
just getting a warning at configuration time from Meson.
2020-02-09 21:04:23 +00:00
Jiri Grönroos
4d7d811252 Update Finnish translation 2020-02-09 18:52:13 +00:00
Sabri Ünal
05f409fbdc Update Turkish translation 2020-02-09 13:58:41 +00:00
Sabri Ünal
8ba1a29ee4 Update Turkish translation 2020-02-09 13:57:38 +00:00
Bruce Cowan
5ac59dc3b9 Update British English translation 2020-02-08 13:56:28 +00:00
Matthias Clasen
9c8babacae Merge branch 'vista_clipboard' into 'gtk-3-24'
GDK W32: Use Vista+ clipboard API

See merge request GNOME/gtk!1143
2020-02-06 12:52:11 +00:00
Jakub Steiner
70ebd7e237 Merge branch 'Gtk_3_24_focus_rings' into 'gtk-3-24'
Outline/focus ring border-radii fixes

See merge request GNOME/gtk!1384
2020-02-05 12:18:55 +00:00
Carlo Lobrano
b50ccaea12 Adwaita: always use link specific colors for link selector
link target uses `$selected_bg_color` and `$selected_fg_color` for the
definition of some selectors (e.g. selected).

While `$link_color` and `$link_visited_color` are based on
`$selected_bg_color`, this does not seem coherent.

Replacing `$selected_*g_color` in link target style with link colors
defined in `_colors.scss file`.
2020-02-05 13:14:26 +01:00
Feichtmeier
cfd530db0d Outline/focus ring border-radii fixes
- change %linked_XXX class outline-radii to match the border-radii
- adapt the .dialog-action-area buttons to this
2020-02-04 12:34:20 +00:00
Jakub Steiner
b0f24fd8d5 Adwaita: generate up to date CSS
- the typography SASS changes weren't generated in the CSS
2020-02-04 11:09:38 +01:00
Thomas Holder
5e8d97ef0b gdk quartz: add missing include (-Werror=implicit)
Regression of GNOME/gtk!641 (ef72fe750a)
2020-02-02 11:16:40 +01:00
John Ralls
8670b7980d Merge Thomas Holder's 'gtk-3-24-fix-gdkcursor-quartz' into gtk-3-24. 2020-02-01 15:29:41 -08:00
Thomas Holder
528f780871 gdk quartz: add missing include
Fixes startup crash with Inkscape.

Regression of GNOME/gtk!641 (ef72fe750a)
2020-02-01 23:56:56 +01:00
Matthias Clasen
2f9431965b Merge branch 'model-button-a11y-state' into 'gtk-3-24'
modelbutton: Update a11y states

See merge request GNOME/gtk!1374
2020-01-31 18:31:23 +00:00
Matthias Clasen
09b14437a8 modelbutton: Update a11y states
We took care to set the proper role on our accessible object,
but we forgot to update the state for check and radio button
roles.
2020-01-31 19:08:09 +01:00
John Ralls
e2c34b9db7 Merge branch 'issue2225' into gtk-3-24 2020-01-30 10:31:57 -08:00
Matthias Clasen
9c832b388b Merge branch 'gdk-device-leak-fix-gtk3' into 'gtk-3-24'
GdkDevice leak fix

See merge request GNOME/gtk!1359
2020-01-30 09:10:50 +00:00
Stas Solovey
9ba0671b32 Update Russian translation 2020-01-29 20:48:21 +00:00
Emmanuele Bassi
a574404a2e Merge branch 'wip/muktupavels/work-areas-v3-3-24' into 'gtk-3-24'
per-monitor work areas

See merge request GNOME/gtk!478
2020-01-29 11:25:19 +00:00
Alberts Muktupāvels
6609a9f061 x11: add support for _GTK_WORKAREAS_Dn
If window manager supports _GTK_WORKAREAS use per-monitor work areas.

https://mail.gnome.org/archives/wm-spec-list/2018-December/msg00000.html
https://gitlab.freedesktop.org/xdg/xdg-specs/merge_requests/22

https://gitlab.gnome.org/GNOME/gtk/merge_requests/478
2020-01-28 14:51:22 +02:00
Sebastian Keller
9ce66b9d05 gdk/x11: Properly unref removed device in XI2 device manager
When a device is added, there are two references to it by the device
manager, the initial one and the one used for the id_table. Removing a
device only removed the reference added by the id_table resulting in the
GdkDevice being leaked.

https://gitlab.gnome.org/GNOME/gtk/merge_requests/1359
2020-01-27 22:06:49 +01:00
Dušan Kazik
cb1c16021e Update Slovak translation 2020-01-27 08:00:50 +00:00
Sebastian Keller
4cef9f3471 gdkseatdefault: Unref removed slave devices
Adding a slave device adds a ref, but removing it does not unref it.

https://gitlab.gnome.org/GNOME/gtk/merge_requests/1359
2020-01-27 01:48:37 +01:00
Dušan Kazik
9a65e05748 Update Slovak translation 2020-01-26 20:31:02 +00:00
Xavier Claessens
68bd429edd GtkSearchEngineSimple: Disable recursive search
It is too slow to be useful, rely on the Tracker engine to perform recursive search.

Fixes: #2392.
2020-01-26 07:47:26 -05:00
Piotr Drąg
d877325a1e Add empty Kurdish Sorani translation of properties
Follow-up to 3822ac74fc

Build will break without this, see the note in LINGUAS.
2020-01-25 12:35:12 +01:00
Matthias Clasen
e4509d723e Merge branch 'display-woes' into 'gtk-3-24'
Couple of fixes for GtkDisplay open/close

See merge request GNOME/gtk!1343
2020-01-24 16:35:13 +00:00
Matthias Clasen
ed9825e8ca Merge branch 'fix-avahi_service_resolver_cb-crash' into 'gtk-3-24'
printing: Fix crash in avahi_service_resolver_cb

See merge request GNOME/gtk!1346
2020-01-23 16:42:35 +00:00
Olivier Fourdan
b1d55f2c85 gtksettings: Remove display from cache on closing
GTK caches the settings per display in a static `GArray`, keeping a
reference to the `GdkDisplay` as the key.

However, when closing the display, the corresponding entry is not
removed from the cache in `GtkSettings`.

So when reopening again a `GdkDisplay`, if the new address matches one
of the previously closed display, the cache will return the existing
`GtkSettings` from the cache, which still holds a reference to the old
`GdkScreen` which was freed along the `GdkDisplay`.

To avoid the issue, make sure to remove the `GdkDisplay` and
corresponding `GdkSettings` when closing the `GdkDisplay`.

Also, care must be taken not to recreate the `GdkSettings` and re-add
the `GdkDisplay` to the cache once the display is closed, and make sure
callers of `gtk_settings_get_for_display()` can deal with a returned
value being `NULL` if the display is closed.

Fixes: commit 360a3c1690 - "Use a cheaper way to store settings per
display"
2020-01-23 17:34:47 +01:00
Olivier Fourdan
c9601f1567 gdk/wayland: Fix gdk_window_impl_wayland_finalize() warnings
On Wayland, opening and closing a `GdkDisplay` generates a coupe of
warnings at runtime:

```
  GLib-GObject-WARNING **:
    invalid cast from 'GdkWindowImplWayland' to 'GdkWindow'
  GLib-GObject-WARNING **:
    invalid cast from 'GdkWaylandWindow' to 'GdkWindowImplWayland'
```

This is from `gdk_window_impl_wayland_finalize()` which tries to cast
the given GObject to a `GdkWindow` while it's a `GdkWindowImplWayland`.

Use the correct type casting of objects to avoid the warnings.
2020-01-23 17:34:47 +01:00
WGH
3d5f083b75 printing: Fix crash in avahi_service_resolver_cb
printer_name_compressed_strv is NULL-terminated array
of gchar*, which means N+1 memory should be allocated.

Otherwise, if the printer name has no empty components
(which is usually the case), printer_name_compressed_strv[N],
which should contain the NULL sentinel, will actually lie
just outside of allocated memory, which is UB.

In my case, it led to crashes inside g_strjoinv
when Print... dialog is opened in evince.

    #0  0x00007fad2ce1bad7 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:96
    #1  0x00007fad2d04d88d in g_strjoinv (separator=separator@entry=0x7fad0c9bc508 "-", str_array=str_array@entry=0x556b017f0200) at ../glib-2.60.7/glib/gstrfuncs.c:2585
    #2  0x00007fad0c9b8a89 in avahi_service_resolver_cb (source_object=<optimized out>, res=<optimized out>, user_data=0x7fad08020ee0) at /var/tmp/portage/x11-libs/gtk+-3.24.13/work/gtk+-3.24.13/modules/printbackends/cups/gtkprintbackendcups.c:3223
    #3  0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8b00 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
    #4  0x00007fad2d1f987d in g_task_return (task=0x556b017a8b00 [GTask], type=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1278
    #5  0x00007fad2d1f9dec in g_task_return (type=G_TASK_RETURN_SUCCESS, task=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1678
    #6  0x00007fad2d1f9dec in g_task_return_pointer (task=<optimized out>, result=<optimized out>, result_destroy=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1683
    #7  0x00007fad2d24b6af in g_dbus_connection_call_done (source=<optimized out>, result=0x556b017a8bc0, user_data=0x556b017a8b00) at ../glib-2.60.7/gio/gdbusconnection.c:5747
    #8  0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8bc0 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
    #9  0x00007fad2d1f8f09 in complete_in_idle_cb (task=0x556b017a8bc0) at ../glib-2.60.7/gio/gtask.c:1223
    #10 0x00007fad2d02d2c0 in g_main_dispatch (context=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3189
    #11 0x00007fad2d02d2c0 in g_main_context_dispatch (context=context@entry=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3854
    #12 0x00007fad2d02d658 in g_main_context_iterate (context=context@entry=0x556b00eee090, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.60.7/glib/gmain.c:3927
    #13 0x00007fad2d02d6df in g_main_context_iteration (context=context@entry=0x556b00eee090, may_block=may_block@entry=1) at ../glib-2.60.7/glib/gmain.c:3988
    #14 0x00007fad2d22248d in g_application_run (application=0x556b0116f130 [EvApplication], argc=<optimized out>, argv=<optimized out>) at ../glib-2.60.7/gio/gapplication.c:2519
    #15 0x0000556b002e55a1 in  ()
    #16 0x00007fad2ccd6f1b in __libc_start_main (main=0x556b002e50d0, argc=2, argv=0x7ffe1057fa88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1057fa78) at ../csu/libc-start.c:308
    #17 0x0000556b002e567a in  ()

    (gdb) p printer_name_compressed_strv[0]
    $4 = (gchar *) 0x556d4a4be430 "Brother"
    (gdb) p printer_name_compressed_strv[1]
    $5 = (gchar *) 0x7f9dbc011090 "MFC"
    (gdb) p printer_name_compressed_strv[2]
    $6 = (gchar *) 0x556d4a51ba50 "7860DW"
    (gdb) p printer_name_compressed_strv[3]
    $7 = (gchar *) 0x401 <error: Cannot access memory at address 0x401>
2020-01-23 18:27:41 +03:00
John Ralls
eabaf90076 Match returns annotation on quartz version of gtk_drag_dest_get_target_List. 2020-01-22 20:53:38 -08:00
John Ralls
c3deff17a6 Check target list not null to prevent segfault. 2020-01-22 20:53:38 -08:00
John Ralls
44c033ccb8 Ensure that GtkDragDestSite is inited to 0. 2020-01-22 20:53:38 -08:00
John Ralls
81c42faa5a Handle NSException from removeItemAtIndex. 2020-01-22 20:53:38 -08:00
sicklylife
43d7747df6 Update Japanese translation 2020-01-22 17:36:38 +00:00
sicklylife
650a3996ba Update Japanese translation 2020-01-22 17:27:16 +00:00
Emmanuele Bassi
e8cd4d4d33 Merge branch 'wip/muktupavels/issue-1084' into 'gtk-3-24'
Complete startup notification sequence for remote invocations

See merge request GNOME/gtk!1296
2020-01-22 15:07:27 +00:00
Matthias Clasen
159ad1161f Merge branch 'wip/jimmac/typography-classes-gtk3' into 'gtk-3-24'
Adwaita: general typography classes

See merge request GNOME/gtk!1341
2020-01-22 13:51:02 +00:00
Jakub Steiner
9b11707a52 Adwaita: general typography classes
- many moons and some iterations later, these are the suggested
      general typographic styles. Already being referenced in apps like
      Banner Viewer (for now shipping custom definitions)

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1808
2020-01-22 12:06:31 +01:00
Jwtiyar Nariman
3822ac74fc Add Kurdish Sorani translation 2020-01-19 07:52:05 +00:00
Matthias Clasen
11568b158f inspector: Avoid an array overrun
Commit 3f56af3738 added a new value to the
GdkInputSource enum, forgetting that the inspector
has an array of names to match this enum.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2385
2020-01-18 10:53:30 -05:00
Matthias Clasen
cbf5768e91 Merge branch 'gtk3-fix-gesture-get-center' into 'gtk-3-24'
[GTK3] gtkgesture: Fix gtk_gesture_get_bounding_box_center() for touchpads

See merge request GNOME/gtk!1269
2020-01-17 22:24:32 +00:00
Yariv Barkan
1c050bdcf4 demo: Use pinch translation in the gestures demo
Add the pinch translation offset to the pinch gesture demo. That allows
moving the square around in addition to the already-supported rotate and
zoom.
2020-01-17 22:37:55 +02:00
Yariv Barkan
e229c6fe81 gtkgesture: Fix get-center for touchpad gestures
Touchpad gestures have only a single event sequence. The current
'center' of the gesture is the starting point + accumulated deltas.
Update gtk_gesture_get_bounding_box_center() accordingly.
2020-01-17 22:37:55 +02:00
Matthias Clasen
c6ce7fedd5 Merge branch 'wip/muktupavels/fix-critical-warning' into 'gtk-3-24'
menu: fix critical warning

See merge request GNOME/gtk!1182
2020-01-17 18:16:42 +00:00
Matthias Clasen
9f9fdd6caa Merge branch 'wip/muktupavels/root-surface-scale' into 'gtk-3-24'
gdkscreen-x11: update device scale also for root window

See merge request GNOME/gtk!1208
2020-01-17 18:13:50 +00:00
Timm Bäder
5986e100eb Merge branch '3-24-fix-imwayland-cursor' into 'gtk-3-24'
imwayland: Fix get_preedit_string cursor position

See merge request GNOME/gtk!1251
2020-01-17 06:46:56 +00:00
Jakub Steiner
5d38dd5618 Adwaita: update checkbox & radio
- minor update to checkboxes and radios,
  approved for gtk3 as well.

See https://gitlab.gnome.org/GNOME/gtk/issues/2291
2020-01-15 22:18:38 +01:00
Matthias Clasen
6d3138fe6b Merge branch 'fix-2378' into 'gtk-3-24'
fontchooser: Fix size label not being hidden

See merge request GNOME/gtk!1317
2020-01-14 22:42:33 +00:00
Alex Samorukov
e02148491f Use bundle id instead of package name for the macOS preview as filename is now changed 2020-01-14 22:12:53 +00:00
James Westman
b5ea2c78d6 fontchooser: Fix size label not being hidden
Even when the level property of a font chooser did not include
GTK_FONT_CHOOSER_LEVEL_SIZE, the "Size" label was still displayed.

Fixes #2378.
2020-01-14 16:01:16 -06:00
Ricardo Silva Veloso
db7c2afe6b Update Brazilian Portuguese translation 2020-01-14 20:31:35 +00:00
Matthias Clasen
0bffcd8882 Merge branch 'adwaita-cross-fade-fix-gtk3' into 'gtk-3-24'
Adwaita: Fix syntax error in cross-fade() (GTK3)

See merge request GNOME/gtk!1307
2020-01-14 05:32:45 +00:00
Matthias Clasen
8ed65a96b9 Merge branch 'image-surfce-cache-leak' into 'gtk-3-24'
GtkCssImageSurface: Plug cache surface leak

See merge request GNOME/gtk!1309
2020-01-14 05:32:08 +00:00
Matthias Clasen
cf31119bf4 gtk-demo: Use a default action in the infobars demo
This makes the question infobar activatable by clicking
anywhere in it.
2020-01-14 00:29:53 -05:00
Matthias Clasen
0c6ea4c7b2 Adwaita: Add hover for clickable infobars 2020-01-14 00:29:53 -05:00
Matthias Clasen
b55ef8d89a infobar: Activate default action on clicks
When we have a default action set on the infobar, activate it
for clicks anywhere in the infobar.  Also add an .action style
class in this case, so we can add a hover highlight to the infobar
just for this case.
2020-01-14 00:29:53 -05:00
Sebastian Keller
7e2bebb4d5 GtkCssImageSurface: Plug cache surface leak
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2373
2020-01-13 23:24:47 +01:00
nana-4
404f4c6627 Adwaita: Fix syntax error in cross-fade()
cross-fade() requires two images.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2371
2020-01-14 06:21:17 +09:00
Alex Samorukov
4a1dc1abfa Merge branch 'gtk-3-24-issue-2102' into 'gtk-3-24'
gdk_quartz_keymap_translate_keyboard_state fills consumed_modifiers incorrectly (closes #2102)

See merge request GNOME/gtk!1225
2020-01-10 21:07:46 +00:00
Mario Sanchez Prada
c17c18e440 application: Complete startup notification sequence for remote invocations
When a remote instance of a GTK application implementing the Startup
Notification protocol gets spawned it will pass the startup sequence
ID as "platform data" to the main instance. Thus, we need to make sure
that the startup sequence gets completed in that case, since the remote
instance won't do it by itself, since it won't map any top level window.

Checking for this "platform data" in the implementation of the after_emit()
virtual method in the primary instance should be a good place to do so, since
the existence of such data proves that a remote instance has been spawned.

https://gitlab.gnome.org/GNOME/gtk/issues/1084
2020-01-10 13:32:37 +02:00
Michael Forney
fb98242e18 Use wayland-scanner private-code in autotools build
The sed -i flag is non-standard, and may not be available in all
implementations.

The meson build already requires wayland >= 1.14.91 and uses
private-code, so just do that in the autotools build as well.
2020-01-09 19:15:46 -08:00
Michael Forney
156d6fffbe Update wayland requirement to 1.14.91 for use of private-code
In a4fe15d9f0, the wayland-scanner command was changed to use
`private-code`, which was first introduced in wayland-1.14.91. This
was synced from master commit a2a99d27c9, which *did* include a
corresponding wayland version requirement bump, but it appears that
this was lost in the sync.
2020-01-09 19:04:44 -08:00
Umarzuki Bin Mochlis Moktar
d0c351468b Update Malay translation 2020-01-08 14:53:41 +00:00
Alex Samorukov
55346fbeb9 Merge branch 'gtk-3-24-fix-set_functions' into 'gtk-3-24'
quartz: impl_class->set_functions listed twice in the object

See merge request GNOME/gtk!1282
2020-01-08 14:17:36 +00:00
Alex Samorukov
76e95a702f impl_class->set_functions listed twice in the object 2020-01-08 14:17:36 +00:00
Alex Samorukov
a4bb6cea63 Merge branch 'gtk-3-24-fixeventloop' into 'gtk-3-24'
Move `[NSApplication sharedApplication]` after event loop init to avoid window focus issues (closes #2342).

See merge request GNOME/gtk!1285
2020-01-08 14:13:36 +00:00
Alex Samorukov
6fdef1055b move [NSApplication sharedApplication] after _gdk_quartz_events_init() to avoid initialization issues 2020-01-08 14:13:36 +00:00
Alex Samorukov
a83066bdc5 Merge branch 'samm/fix-fs/gtk-3-24' into 'gtk-3-24'
Fix was_fullscreen flag (again!)

See merge request GNOME/gtk!1287
2020-01-08 13:56:10 +00:00
Alex Samorukov
2406badb92 Fix was_fullscreen flag (again!) 2020-01-08 13:56:10 +00:00
Alexandr Miloslavskiy
822705fe3e gkimmulticontext: Fix crash due to leaked signal handler
The problem is caused by gtk_im_multicontext_set_slave(), which forgets
to disconnect these signal handlers:
* gtk_im_multicontext_retrieve_surrounding_cb
* gtk_im_multicontext_delete_surrounding_cb

If slave GtkImContext emits signal after GtkIMMulticontext context is
destroyed, this leads to reading freed memory, sometimes causing a crash.

Fixes: #2365
2020-01-06 20:39:34 +01:00
Ondrej Holy
b9e1ef1558 placesview: Always open default location after mounting
The default location (obtained over g_mount_get_default_location) is
opened after mounting volume, or when opening mounts from sidebar, but
not after mounting over "Connect to Server". Let's unify the behavior
and always open the default location.

https://gitlab.gnome.org/GNOME/nautilus/issues/1319


(cherry picked from commit 267ea7552b)
2020-01-06 13:22:31 +00:00
Jordi Mas
fcc72575a2 Update Catalan translation 2020-01-04 07:23:34 +01:00
Matthias Clasen
6f374e787b Merge branch 'gtk-3-24-fix-fullscreen-state' into 'gtk-3-24'
Fix typo which preventing fullscreen state from being updated correctly

See merge request GNOME/gtk!1277
2020-01-03 17:54:12 +00:00
Alex Samorukov
5cdca80c0c Fix typo which preventing fullscreen state from being updated correctly 2020-01-03 17:54:12 +00:00
Alberts Muktupāvels
489fb1783b gdkscreen-x11: update device scale also for root window
Window scale can change at runtime. If cairo_surface is already
created for root window gdk_pixbuf_get_from_window will return
wrong image.

_gdk_x11_screen_set_window_scale already updates window_scale for
root window, update also cairo_surface device scale.

https://gitlab.gnome.org/GNOME/gtk/merge_requests/1208
2020-01-03 18:50:14 +02:00
Umarzuki Bin Mochlis Moktar
a1a99bef83 Update Malay translation 2020-01-03 13:41:04 +00:00
Matthias Clasen
6116c0a0b4 Merge branch 'cherry-pick-6769db16' into 'gtk-3-24'
icontheme: Don't try to scale pixbufs to 0px

See merge request GNOME/gtk!1275
2020-01-01 19:24:21 +00:00
Benjamin Otte
edcddf6561 icontheme: Don't try to scale pixbufs to 0px
Always insist on at least 1px, even if the thumbnail we're turning into
an icon was 256 * 3 and should be scaled to 32 * 3/8.

(cherry picked from commit 6769db160d)
2020-01-01 18:17:14 +01:00
Matthias Clasen
d9a9ede7a2 Merge branch 'carlosgc/no-emoji-hint' into 'gtk-3-24'
emojichooser: never show emoji chooser when input hint no-emoji is present

See merge request GNOME/gtk!1272
2019-12-30 15:18:12 +00:00
Carlos Garcia Campos
c6e5030c61 emojichooser: never show emoji chooser when input hint no-emoji is present
It's currently used only to not include the insert emoji option in the
context menu, but it's still possible to show the emoji chooser in both
GtkEntry and GtkTextView using the key bindings.
See also https://bugs.webkit.org/show_bug.cgi?id=205609.
2019-12-30 10:56:06 +01:00
Jordi Mas
1bc188b1f4 Fixes to Catalan translation 2019-12-27 13:54:02 +01:00
Fran Dieguez
402445920b Update Galician translation 2019-12-25 03:24:27 +00:00
Fran Dieguez
3eec04802c Update Galician translation 2019-12-25 01:56:10 +00:00
Fran Dieguez
276aa563ba Update Galician translation 2019-12-25 01:31:55 +00:00
Matthias Clasen
0d6cff45c3 accelgroup: Fix a buffer overrun
gtk_accelerator_parse_with_keycode can
overrun its buffer for certain inputs.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2325
2019-12-23 23:19:57 -05:00
Emmanuele Bassi
eeb896d648 Merge branch 'doc-scale-button-css' into 'gtk-3-24'
Document the CSS class used for the ScaleButton popover

See merge request GNOME/gtk!1246
2019-12-22 19:31:40 +00:00
Matthias Clasen
f37673927c Merge branch 'gtk3-fix-gtkgesturerotate-leak' into 'gtk-3-24'
[gtk3] gtkgesturerotate: Fix a memory leak

See merge request GNOME/gtk!1262
2019-12-19 22:54:46 +00:00
Yariv Barkan
dc896f0910 gtkgesturerotate: Fix a memory leak
On touchpads gtk_gesture_get_sequences() was called without a
corresponding g_list_free(). The same was true for touchscreens
if due to some reason only a single sequence was found.
2019-12-19 20:53:45 +02:00
Efstathios Iosifidis
e5b05d2478 Update Greek translation 2019-12-17 22:40:37 +00:00
Emmanuele Bassi
37dd37178f Merge branch 'ci-update-gtk3' into 'gtk-3-24'
Update CI image

See merge request GNOME/gtk!1255
2019-12-17 18:00:58 +00:00
Emmanuele Bassi
a4e4b136c9 Update the list of tests that may fail
The update of the Docker image we use on our CI introduced changes in
the underlying platform, and that caused some reftests to fail.
2019-12-17 17:39:43 +00:00
Emmanuele Bassi
44b2f6792b ci: Update the Docker image 2019-12-16 20:07:39 +00:00
Emmanuele Bassi
40264c7ab3 ci: Add libXtst-devel
Needed for at-spi2-core.
2019-12-16 20:07:39 +00:00
Emmanuele Bassi
62d68ce88c ci: Update to Fedora 31
Fedora 29 is EOL.
2019-12-16 20:07:39 +00:00
xdavidwu
5ad1316b1e imwayland: Fix get_preedit_string cursor position
GtkIMContext get_preedit_string should return cursor position counted
in characters, but cursor_begin here is counted in bytes. This add the
missing conversion.
2019-12-15 19:19:54 +08:00
Marek Kasik
725892b653 printing: Fix getting info for standalone IPP printers
Create printer name from name of the advertised service
for standalone IPP printers as opposed to CUPS printers
advertised via Avahi which get name from their
resource path.
This is similar to what cups-filters does.

Pass GtkPrinter class to request for printer info
so that it does not need to be searched for
(such search could fail for standalone IPP printers).

https://gitlab.gnome.org/GNOME/gtk/issues/1509
2019-12-13 18:24:55 +01:00
Marek Kasik
fb2fa8348d printing: Don't show Rejecting Jobs when we don't know
Set reasonable default values for printers discovered
by Avahi which do not have 'printer-type' attribute.
This is the case for network printers which were not
published by CUPS.

Related to the issue #1509.
2019-12-13 18:24:55 +01:00
Thomas Holder
af6487d70c gdk: quartz: fix #2102 consumed_modifiers 2019-12-01 15:14:20 +01:00
Chun-wei Fan
2aa62b31b4 gdkwindow-win32.c: Fix GLES glitches during un-fullscreen
We also need to force redraw of the whole window when we are using
EGL/ANGLE during un-fullscreen, so that we do not get glitches in the
resulting window.
2019-11-22 12:00:22 +08:00
Alberts Muktupāvels
e34037b015 menu: fix critical warning
Unset gdk-attached-grab-window from correct window.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1899
2019-11-14 19:00:50 +02:00
Руслан Ижбулатов
e860ac5cf6 GDK W32: Use Vista+ clipboard API
Use RemoveClipboardFormatListener() and AddClipboardFormatListener().
These APIs remove the need for us to maintain the integrity of the
clipboard chain, which turned out to be problematic for some reason
that is yet to be identified.

Fixes #2215
Fixes #442
2019-10-21 19:10:48 +00:00
Руслан Ижбулатов
66bd6d88de W32: Ensure paper size/orientation is preserved
Use existing create_page_setup() function to make a GtkPageSetup
object out of the GtkPrintSettings (which we shuttled out of W32
DEVMODE) and apply it to GtkPrintOperation is the default page
setup.

Applications (such as gedit) retrieve page setup from GtkPrintOperation
by calling gtk_print_operation_get_default_page_setup (). Therefore,
we have to set it, otherwise they will get the same page setup that
we had before the dialog was shown, and will later feed that page
setup to us again, which will cause paper size and orientation to
be always reset back to whatever the hardcoded default values were.
2019-04-01 07:28:08 +00:00
899 changed files with 211318 additions and 191826 deletions

View File

@@ -1,29 +1,33 @@
image: registry.gitlab.gnome.org/gnome/gtk/gtk-3-24:v2
stages:
- build
- docs
cache:
paths:
- _ccache/
fedora-autotools:
image: registry.gitlab.gnome.org/gnome/gtk/fedora-gtk3:v3
stage: build
script:
- bash -x ./.gitlab-ci/test-docker-autotools.sh
- bash -x ./.gitlab-ci/test-docker-autotools.sh
fedora-distcheck:
image: registry.gitlab.gnome.org/gnome/gtk/fedora-gtk3:v3
variables:
DO_DISTCHECK: "yes"
when: manual
stage: build
script:
- bash -x ./.gitlab-ci/test-docker-autotools.sh
- bash -x ./.gitlab-ci/test-docker-autotools.sh
fedora-meson: &fedora-meson-defaults
fedora-meson:
image: registry.gitlab.gnome.org/gnome/gtk/fedora-gtk3:v3
stage: build
variables:
EXTRA_MESON_FLAGS: "-Ddefault_library=both"
script:
- bash -x ./.gitlab-ci/test-docker-meson.sh
- bash -x ./.gitlab-ci/test-docker-meson.sh
artifacts:
when: always
name: "gtk3-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
@@ -31,35 +35,61 @@ fedora-meson: &fedora-meson-defaults
- "_build/meson-logs"
- "_build/testsuite/reftests/output"
fedora-meson-staticlibs:
debian-meson:
image: registry.gitlab.gnome.org/gnome/gtk/debian-gtk3:v2
stage: build
variables:
EXTRA_MESON_FLAGS: "-Ddefault_library=both"
<<: *fedora-meson-defaults
script:
- bash -x ./.gitlab-ci/test-docker-meson.sh
artifacts:
when: always
name: "gtk3-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
paths:
- "_build/meson-logs"
- "_build/testsuite/reftests/output"
msys2-mingw32-meson:
reference:
image: registry.gitlab.gnome.org/gnome/gtk/fedora-gtk3:v3
stage: docs
variables:
MSYSTEM: "MINGW32"
EXTRA_MESON_FLAGS: "--buildtype=release -Dgtk_doc=true -Dman=true"
script:
- bash -x ./.gitlab-ci/test-docker-meson.sh
- ninja -C _build gdk3-doc gtk3-doc
- tar -c -J -f gdk3-docs.tar.xz _build/docs/reference/gdk
- tar -c -J -f gtk3-docs.tar.xz _build/docs/reference/gtk
artifacts:
paths:
- gdk3-docs.tar.xz
- gtk3-docs.tar.xz
msys2-mingw64-meson:
variables:
MSYSTEM: "MINGW64"
CHERE_INVOKING: "yes"
stage: build
tags:
- win32
- win32-ps
script:
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2-meson.sh"
artifacts:
when: always
name: "gtk3-%CI_JOB_NAME%-%CI_COMMIT_REF_NAME%"
name: "gtk3-${env:CI_JOB_NAME}-${env:CI_COMMIT_REF_NAME}"
paths:
- "_build/meson-logs"
- "_build/gdk/libgdk-3-0.dll"
- "_build/gtk/libgtk-3-0.dll"
msys2-mingw32-autotools:
msys2-mingw64-autotools:
when: manual
variables:
MSYSTEM: "MINGW32"
MSYSTEM: "MINGW64"
CHERE_INVOKING: "yes"
stage: build
tags:
- win32
- win32-ps
script:
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2-autotools.sh"

View File

@@ -0,0 +1,71 @@
FROM debian:bullseye
RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \
adwaita-icon-theme \
ccache \
dconf-gsettings-backend \
g++ \
gcc \
gettext \
git \
gobject-introspection \
gvfs \
hicolor-icon-theme \
itstool \
libatk-bridge2.0-dev \
libatk1.0-dev \
libc6-dev \
libcairo2-dev \
libcairo-gobject2 \
libcolord-dev \
libcups2-dev \
libegl1-mesa-dev \
libepoxy-dev \
libfontconfig1-dev \
libfreetype6-dev \
libgdk-pixbuf2.0-dev \
libgirepository1.0-dev \
libglib2.0-dev \
libharfbuzz-dev \
libjson-glib-dev \
libpango1.0-dev \
librest-dev \
librsvg2-common \
libsoup2.4-dev \
libwayland-dev \
libx11-dev \
libxcomposite-dev \
libxcursor-dev \
libxdamage-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxinerama-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxml2-dev \
libxrandr-dev \
locales \
ninja-build \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
python3-wheel \
shared-mime-info \
wayland-protocols \
xauth \
xvfb \
&& rm -rf /usr/share/doc/* /usr/share/man/*
# Locale for our build
RUN locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8
ARG HOST_USER_ID=5555
ENV HOST_USER_ID ${HOST_USER_ID}
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
USER user
WORKDIR /home/user
ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8

View File

@@ -1,4 +1,4 @@
FROM fedora:29
FROM fedora:35
RUN dnf -y install \
adwaita-icon-theme \
@@ -41,9 +41,10 @@ RUN dnf -y install \
libxkbcommon-devel \
libXrandr-devel \
libXrender-devel \
libXtst-devel \
make \
mesa-libEGL-devel \
mesa-libwayland-egl-devel \
'pkgconfig(wayland-egl)' \
meson \
ninja-build \
pango-devel \

View File

@@ -1,19 +1,135 @@
#!/bin/bash
#
# This script builds an image from the Dockerfile, starts a container with
# the parent directory mounted as working directory and start a bash session
# there so you can test things.
# Once you are happy you can push it to the docker hub:
# sudo docker push "${TAG}"
read_arg() {
# $1 = arg name
# $2 = arg value
# $3 = arg parameter
local rematch='^[^=]*=(.*)$'
if [[ $2 =~ $rematch ]]; then
read "$1" <<< "${BASH_REMATCH[1]}"
else
read "$1" <<< "$3"
# There is no way to shift our callers args, so
# return 1 to indicate they should do it instead.
return 1
fi
}
set -e
TAG="registry.gitlab.gnome.org/gnome/gtk/gtk-3-24:v2"
build=0
run=0
push=0
list=0
print_help=0
no_login=0
# HOST_USER_ID gets used to create a user with the same ID so that files
# created in the mounted volume have the same owner
sudo docker build \
--build-arg HOST_USER_ID="$UID" --tag "${TAG}" --file "Dockerfile" .
sudo docker run --security-opt label=disable \
--rm --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
--tty --interactive "${TAG}" bash
while (($# > 0)); do
case "${1%%=*}" in
build) build=1;;
run) run=1;;
push) push=1;;
list) list=1;;
help) print_help=1;;
--base|-b) read_arg base "$@" || shift;;
--base-version) read_arg base_version "$@" || shift;;
--no-login) no_login=1;;
*) echo -e "\e[1;31mERROR\e[0m: Unknown option '$1'"; exit 1;;
esac
shift
done
if [ $print_help == 1 ]; then
echo "$0 - Build and run Docker images"
echo ""
echo "Usage: $0 <command> [options] [basename]"
echo ""
echo "Available commands"
echo ""
echo " build --base=<BASENAME> - Build Docker image <BASENAME>.Dockerfile"
echo " run --base=<BASENAME> - Run Docker image <BASENAME>"
echo " push --base=<BASENAME> - Push Docker image <BASENAME> to the registry"
echo " list - List available images"
echo " help - This help message"
echo ""
exit 0
fi
cd "$(dirname "$0")"
if [ $list == 1 ]; then
echo "Available Docker images:"
for f in *.Dockerfile; do
filename=$( basename -- "$f" )
basename="${filename%.*}"
echo -e " \e[1;39m$basename\e[0m"
done
exit 0
fi
# All commands after this require --base to be set
if [ -z $base ]; then
echo "Usage: $0 <command>"
exit 1
fi
if [ ! -f "$base.Dockerfile" ]; then
echo -e "\e[1;31mERROR\e[0m: Dockerfile for '$base' not found"
exit 1
fi
if [ -z $base_version ]; then
base_version="latest"
else
base_version="v$base_version"
fi
if [ ! -x "$(command -v docker)" ] || [ docker --help |& grep -q podman ]; then
# Docker is actually implemented by podman, and its OCI output
# is incompatible with some of the dockerd instances on GitLab
# CI runners.
echo "Using: Podman"
format="--format docker"
CMD="podman"
else
echo "Using: Docker"
format=""
CMD="sudo socker"
fi
REGISTRY="registry.gitlab.gnome.org"
TAG="${REGISTRY}/gnome/gtk/${base}:${base_version}"
if [ $build == 1 ]; then
echo -e "\e[1;32mBUILDING\e[0m: ${base} as ${TAG}"
${CMD} build \
${format} \
--build-arg HOST_USER_ID="$UID" \
--tag "${TAG}" \
--file "${base}.Dockerfile" .
exit $?
fi
if [ $push == 1 ]; then
echo -e "\e[1;32mPUSHING\e[0m: ${base} as ${TAG}"
if [ $no_login == 0 ]; then
${CMD} login ${REGISTRY}
fi
${CMD} push ${TAG}
exit $?
fi
if [ $run == 1 ]; then
echo -e "\e[1;32mRUNNING\e[0m: ${base} as ${TAG}"
${CMD} run \
--rm \
--volume "$(pwd)/..:/home/user/app" \
--workdir "/home/user/app" \
--tty \
--interactive "${TAG}" \
bash
exit $?
fi

View File

@@ -5,19 +5,31 @@ set -e
mkdir -p _ccache
export CCACHE_BASEDIR="$(pwd)"
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
export N_PROCS=$(($(nproc) - 1))
EXTRA_CONFIGURE_OPT=""
# Only enable documentation when distchecking, since it's required
if [ -n "${DO_DISTCHECK-}" ]; then
EXTRA_CONFIGURE_OPTS="${EXTRA_CONFIGURE_OPTS} --enable-gtk-doc"
fi
NOCONFIGURE=1 ./autogen.sh
mkdir _build
cd _build
../autogen.sh \
../configure \
--enable-cloudproviders \
--enable-broadway-backend \
--enable-wayland-backend \
--enable-x11-backend \
--enable-xinerama \
--enable-gtk-doc
make -j8
${EXTRA_CONFIGURE_OPTS}
make -j${N_PROCS}
if [ -n "${DO_DISTCHECK-}" ]; then
make -j8 check SKIP_GDKTARGET="echo Not actually running tests for now"
make -j8 distcheck SKIP_GDKTARGET="echo Not actually running tests for now"
make -j${N_PROCS} check SKIP_GDKTARGET="echo Not actually running tests for now"
make -j${N_PROCS} distcheck SKIP_GDKTARGET="echo Not actually running tests for now"
fi

View File

@@ -10,12 +10,12 @@ export PATH="${HOME}/.local/bin:${PATH}"
python3 -m pip install --user meson==0.49.2
meson \
-Dgtk_doc=true \
-Dman=true \
-Dinstalled_tests=true \
-Dbroadway_backend=true \
-Dx11_backend=true \
-Dwayland_backend=true \
-Dxinerama=yes \
-Dprint_backends="file,lpr,test,cloudprint,cups" \
-Dprint_backends="file,lpr,test,cups" \
${EXTRA_MESON_FLAGS:-} \
_build
@@ -28,5 +28,3 @@ xvfb-run -a -s "-screen 0 1024x768x24" \
--print-errorlogs \
--suite=gtk+-3.0 \
--no-suite=gtk+-3.0:a11y
ninja gail-libgail-util3-doc gdk3-doc gtk3-doc

View File

@@ -30,6 +30,9 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-ninja \
mingw-w64-$MSYS2_ARCH-gtk-doc
# https://github.com/msys2/MINGW-packages/pull/6465
pacman --noconfirm -S --needed mingw-w64-$MSYS2_ARCH-brotli
mkdir -p _ccache
export CCACHE_BASEDIR="$(pwd)"
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"

View File

@@ -2,7 +2,7 @@
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk gtk libgail-util modules demos tests testsuite examples
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros win32
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@@ -16,6 +16,7 @@ EXTRA_DIST += \
NEWS.pre-1-0 \
README.commits \
README.win32 \
check-version.py \
config.h.win32 \
makefile.msc \
gtk-zip.sh.in \
@@ -28,7 +29,8 @@ EXTRA_DIST += \
po/meson.build \
po-properties/meson.build \
build-aux/meson/post-install.py \
config.h.meson
config.h.meson \
gtk.supp
MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
@@ -40,6 +42,10 @@ MAINTAINERCLEANFILES = \
$(srcdir)/gtk-doc.make \
$(srcdir)/ChangeLog
if OS_UNIX
valgrinddir = $(datadir)/gtk-3.0/valgrind
valgrind_DATA = gtk.supp
endif
## Copy .pc files to target-specific names
gtk+-x11-3.0.pc gtk+-win32-3.0.pc gtk+-quartz-3.0.pc gtk+-broadway-3.0.pc gtk+-wayland-3.0.pc: gtk+-3.0.pc
@@ -79,6 +85,7 @@ DISTCLEANFILES = \
dist-hook:
mkdir $(distdir)/subprojects
cp -p $(srcdir)/subprojects/*.wrap $(distdir)/subprojects
$(top_srcdir)/check-version.py $(top_srcdir)/configure.ac $(top_srcdir)/meson.build
distclean-local:
if test "$(srcdir)" = "."; then :; else \

757
NEWS
View File

@@ -1,3 +1,760 @@
Overview of Changes in GTK+ 3.24.34, 05-18-2022
===============================================
* Include legacy hicolor icons
* Fix the build with gcc 12
* MacOS:
- Restore QUARTZ_RELOCATION support
* X11:
- Trap errors when getting output properties
* Wayland:
- Ignore empty preedit updates This fixes a problem with
textview scrolling
* Translation updates
Danish
Dutch
French
German
Hungarian
Italian
Kazakh
Latvian
Lithuanian
Norwegian Bokmål
Swedish
Overview of Changes in GTK+ 3.24.33, 04-03-2022
===============================================
* No changes
Overview of Changes in GTK+ 3.24.32, 03-03-2022
===============================================
* GtkCellRendererProgress:
- Use tabular figures
* GtkFontChooser:
- Fix the build with older Pango
- Fix axis name handling
* Theme:
- Fix border color for tiled windows
* Accessibility:
- Fix cell accessible leak
* Wayland:
- Support new high-contrast setting
- Only update scale when on any outputs
* Windows:
- Various build fixes
- Fix keyboard state handling
- Fix capslock handling
- Fix AltGr not working
* MacOS:
- Fix the build on 10.11
- Make Dock "Quit" invoke the app.quit action
- Correctly handle HiDPI cursors
* Translation updates
Basque
Brazilian Portuguese
Catalan
Chinese (China)
Croatian
Czech
French
Galician
Hebrew
Indonesian
Korean
Persian
Polish
Portuguese
Romanian
Russian
Serbian
Slovenian
Spanish
Swedish
Turkish
Ukrainian
Overview of Changes in GTK+ 3.24.31, 20-12-2021
===============================================
* input:
- Fix a crash with touch on GtkScale
* clipboard:
- Avoid a double-free
* css:
- Avoid a crash with radial gradients
* GtkFileChooser:
- Don't leak search results
* GtkTextView:
- Support css letterspacing
* Wayland:
- Reset position when hiding popups
- Ignore globals we did not bind ourselves
- Avoid infinite loops when hiding surfaces
- Avoid clipboard-related lockups
* X11:
- Trap errors while doing XRANDR calls
- Support touchpad gestures with XI 2.4
* win32:
- Some OpenGL setup fixes
- Fall back to GLES for OpenGL
- Fix MinGW autotools build
- Fix building on Windows 11
- Support building with Visual Studio 2022
- Improve DND across monitors
- Rewrite keymap handling code
* macOS:
- Accept NSPasteboardTypeFileURL drops
- Build on macOS 12
- Fix display on macOS 12
- Fix keyboard layout notifications
- Fix a crash
- Improve performance on Big Sur
* Translation updates:
Basque
Brazilian Portuguese
Chinese (China)
Chinese (Taiwan)
Croatian
Czech
Danish
Dutch
Finnish
French
Friulian
Galician
German
Hungarian
Icelandic
Italian
Kazakh
Korean
Latvian
Occitan
Persian
Russian
Serbian
Spanish
Swedish
Overview of Changes in GTK+ 3.24.30
===================================
* Input:
- Ignore NoSymbol key events (happens with some XKB options)
- Fix incomplete reset in some cases
* GtkEmojiChooser:
- Update data from CLDR 39
- Support translated keywords for multiple languages
- Allow inserting multiple Emoji with Ctrl
- Match keywords for search
- Fix a memory leak
* GtkFileChooser:
- Accessibility improvements
* GtkTreeView
- Fix an accessibility-related memory leak
- Fix assertion failures in some cases
* Printing:
- Remove the Google Cloud Print backend, since the
service was shut down
* Wayland:
- Work with pointer-gestures v1 protocol
* Win32:
- Fix using GL with Mesa drivers
- Add support for Windows Pointer Input stack
* MacOS:
- Fix a crash with Drag-and-Drop
* Translation updates:
Belarusian
Brazilian Portuguese
British English
Catalan
Indonesian
Lithuanian
Nepali
Norwegian Bokmål
Occitan
Portuguese
Romanian
Russian
Serbian
Slovenian
Spanish
Turkish
Ukrainian
Overview of Changes in GTK+ 3.24.29
===================================
* Input:
- Look for a Compose file in the right place (~/.config/gtk-3.0)
- Revert some Compose sequence changes (mainly around dead
acute and apostrophe)
- Consume all key events during preedit, to avoid unexpected
interactions
- Ignore more modifiers during preedit, to allow using 3rd and
5th level choosers
- Fix handling of cursor positions in non-ASCII preedit text
* GtkSpinButton:
- Interpret localized digits
* GtkScale:
- Fix sporadic criticals
* GtkScrolledWindow:
- Cancel overshoot on size changes
- Avoid criticals with non-overlay scrollbars
* GtkFileChooser:
- Handle smb mounts better
* GtkListBox:
- Fix extending multi-selections
* Fix a possible crash in gtk_show_uri
* Wayland:
- Improve font settings fallback
* X11:
- Avoid log spam on exit
- Don't beep on untrusted displays
* OS X:
- Fix building on OS X 10.11
- Add gdk-quartz-cocoa-access.h with api that provides
access to native objects
* Translation updates:
Dutch
Nepali
Swedish
Overview of Changes in GTK+ 3.24.28
===================================
* Input:
- Improve dead key handling
* CSS:
- Fix rendering of scaled text shadows
* Wayland:
- Fix matching of accelerators with multiple layouts
* X11:
- Trap errors from the COW
* Build:
- Make gtk3-update-icon-cache output reproducible
* Translation updates:
Serbian
Overview of Changes in GTK+ 3.24.27
===================================
* Input: Ensure preedit-start and preedit-end
are emitted properly
* GtkScrolledWindow:
- Revert a change that broke touch scrolling
* Theme:
- Fix a problem with size changes in SSD decorations
that caused mutter crashes
- Use transparent black for window border in the dark theme
* Windows:
- Memory leak fixes
- Fix unresponsive windows after tablet input
- Add support for wheel and rotation axes
* Translation updates:
Belarusian
German
Kazakh
Korean
Latvian
Turkish
Overview of Changes in GTK+ 3.24.26
===================================
* Input:
- Fix a few oversights in Compose file parsing
- Fine-tune Compose preedit display
* Theme:
- Fine-tune scrollbar size and transitions
- Reinstate invisible borders for tiled windows
* Wayland:
- Fix a problem with font settings not being found
* Translation updates
French
Hungarian
Turkish
Overview of Changes in GTK+ 3.24.25
===================================
* Settings:
- Make cursor aspect ratio setting work
* Broadway:
- Fix touchscreen event handling
- Support Android / Chrome on-screen keyboard
* Windows:
- Fix issues with Intel graphics drivers
- Avoid UAC for gtk-update-icon-cache
* Wayland:
- Avoid crashes with tablet input
- Add api to support clients with subsurfaces better
* Inspector:
- Make the inspector available in non-debug builds
* Theme:
- Make scrollbars larger
- Disable shadows on maximized, fullscreen and tiled windows
* Printing:
- Support Avahi-discovered printers better
* Input:
- Show preedit for compose sequences
- Support long compose sequences
- Support compose sequences producing multiple characters
* Translation updates
Belarusian
British English
Catalan
Friulian
Galician
Japanese
Persian
Serbian
Overview of Changes in GTK+ 3.24.24
===================================
* GtkColorChooser:
- Update the default color palette
* GtkFontChooser:
- Fix family-only mode to return regular style
* GtkTreeView:
- Don't set focus-on-click for header buttons
* Accessibility:
- Implement scrollSubstringTo
- Add a11y support to GtkPlug/GtkSocket
* Printing:
- Allow the lpr backend to print pdf and ps files
* Theme:
- Update gesture graphics
- Update HighContrast css
* Wayland:
- Support the primary-selection-unstable-v1 protocol
* X11:
- Fix a crash with parent-relative backgrounds
* Broadway:
- Set modifier state of scroll events
* Build:
- Fix pc file generation on NixOS
* OS X:
- Restore command-key bindings
* Windows:
- Fix meson build with epoxy subproject
* Translation updates:
Basque
Brazilian Portuguese
British English
Catalan
Croatian
Czech
French
Galician
German
Greek
Hebrew
Hungarian
Indonesian
Italian
Kazakh
Latvian
Lithuanian
Persian
Polish
Portuguese
Slovak
Slovenian
Spanish
Swedish
Turkish
Ukrainian
Overview of Changes in GTK+ 3.24.23
===================================
* Adwaita:
- Support error states for labels and entries
* Printing:
- Use the correct names for remote printers
* File choser:
- Default to tracker2 for search to prevent
symbol clashes in tracker-using applications
* Wayland:
- Support newer schemas for settings
- Fix DND hotspot handling
- Disconnect on display close
* X11:
- Fix a possible crash with disabled devices
* Translation updates:
Basque
Chinese (China)
Croatian
Dutch
Finnish
Friulian
Galician
Hungarian
Japanese
Korean
Portuguese
Serbian
Overview of Changes in GTK+ 3.24.22
===================================
* GtkTextView:
- Fix some corner cases of pixelcache invalidation
- Make select-all work on touch
* Fix print portal support
* Adwaita:
- Tweak title style class
- Add a public color for text view background
* Windows:
- Limit the size of the corner mask cache
- Use native API for keycode conversion
- Use GLES on arm64
* Wayland: Add a way to change the application id
* Quartz: Add axes to master devices
* Add --enable-tracker3 option to configure
* Translation updates:
Catalan
German
Indonesian
Italian
Kazakh
Spanish
Turkish
Overview of Changes in GTK+ 3.24.21
===================================
* Wayland:
- Prevent crashes with offscreen windows
- Handle disorderly tablet/pad disconnects
* GtkFileChooser:
- Translate the type column
- Add a tracker3 search engine
- Rate-limit trash monitoring
- Make get_filter work for native chooser
* GtkGLArea:
- Fix a redraw problem
* GtkScrolledWindow:
- Fix kinetic scrolling
* Add a gtk-cursor-aspect-ratio setting
* GDK:
- Improve frame clock smoothness
- Fix frame clock monotonicity
* OS X:
- Support Pen / Eraser input
- Support openfiles in GtkApplication
* Adwaita:
- Improve notebook tab legibility
* Translation updates:
Basque
Brazilian Portuguese
Catalan
Chinese (Taiwan)
German
Indonesian
Italian
Japanese
Kazakh
Lithuanian
Polish
Romanian
Slovak
Slovenian
Swedish
Ukrainian
Overview of Changes in GTK+ 3.24.20
===================================
* GtkFileChooser:
- Prevent selection changes after overwrite confirmation
- Don't grab focus to the sidebar on click
- Avoid a use-after-free in GtkFileSystemModel
* GtkEmojiChooser:
- Remove blacklist
* GtkAboutDialog:
- Add more licenses
* Adwaita:
- Lower the contrast of checkboxes
* HighContrast:
- Export the same public colors as Adwaita
* OS X:
- Don't filter Escape in input methods
* Windows:
- Infer font settings from system settings
* Translation updates
Brazilian Portuguese
Chinese
Croatian
French
Japanese
Lithuanian
Polish
Spanish
Swedish
Turkish
Ukrainian
Overview of Changes in GTK+ 3.24.18
===================================
* Wayland:
- Fix more sizing regressions in Epiphany and LibreOffice
menus, and popups in general
* Build:
- Make resource build reproducible
* Translation updates
Basque
Latvian
Overview of Changes in GTK+ 3.24.17
===================================
* GtkFileChooser: Fix some keynav issues
* GtkMenuButton: disable focus-on-click
* Derive the HighContrast and HighContrastInverse themes from Adwaita
* Wayland:
- Fix firefox sizing problems
- Prevent Alt lingering after Alt-Tab
- Load compose sequences from ~/.Compose
- Fix a crash in the Wayland input method
* Translation updates
Finnish
Hebrew
Overview of Changes in GTK+ 3.24.16
===================================
* Fix the build
Overview of Changes in GTK+ 3.24.15
===================================
* filechooser:
- Fix a crash
- Support selecting directories with a new enough
file chooser portal
* textview:
- Speed up tag handling
* wayland:
- Fix problems with clipboard handling
- Fix a crash in the Wayland input method
- Support cursor scale of 400%
- Fix a crash in glade
* css: Support font-feature-settings
* Adwaita:
- Use tabular figures where appropriate
- Color tweaks for dark mode
- Improve rendering of rounded corners
* Translation updates
Dutch
German
Japanese
Korean
Lithuanian
Norwegian Bokmål
Persian
Ukrainian
Overview of Changes in GTK+ 3.24.14
===================================
* Fix the opaque region for windows on X11
* theme:
- Fix flat buttons in backdrop
- Make popovers look more similar to menus
- Tweak checkbox & radiobutton appearance
- Add general typography classes (heading, title-1, etc)
* language bindings:
- Fix annotations for gtk_tree_model_sort_new_with_model
* switch: Fix touch support
* infobar: Make clickable for default action
* emojichooser:
- respect a no-emoji input hint
* fontchooser:
- Fix an oversight with hiding the size label
* filechooser:
- Disable recursive search without a system indexer
* modelbutton:
- Fix a11y support to reflect button state
* input:
- Fix touchpad gesture center calculation
* x11:
- Fix root window scaling
- Support _GTK_WORKAREAS_Dn property
* wayland:
- Support a terminal purpose in input methods
- Fix preedit cursor positioning
- Fix enabling/disabling of text inputs
- Support simultaneous selection requests
- Require Wayland 1.14.91
* OS X:
- Fix fullscreen state
- Fix an Inkscape crash at startup
- Fix OpenGL extension detection
* Printing:
- Fix a crash with Avahi
* Translation updates:
Basque
British English
Catalan
Finnish
French
Galician
Japanese
Kurdish Sorani
Malay
Russian
Slovak
Spanish
Turkish
Overview of Changes in GTK+ 3.24.13
===================================

View File

@@ -10,15 +10,15 @@ First you obviously need developer packages for the compile-time
dependencies: GDK-Pixbuf, Pango, atk, glib, gettext-runtime, libiconv at least.
See http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
For people compiling GTK+ with Visual C++ 2005 or later, it is
recommended that the same compiler is used for at least GDK-Pixbuf,
Pango, atk and glib so that crashes and errors caused by different CRTs
can be avoided. The VS 2008 project files and/or VS Makefiles are
either already available or will be available in the next stable release.
Unfortunately compiling with Microsoft's compilers versions 2003 or earlier
is not supported as compiling the latest stable GLib (which *is* required for
building this GTK+ release) requires features from newer compilers
and/or Platform SDKs
For people compiling GTK+ with Visual C++ or later, it is recommended that
the same compiler is used for at least GDK-Pixbuf, Pango, atk and glib
so that crashes and errors caused by different CRTs can be avoided. Currently
building with Visual Studio 2008 or later is supported, either via Visual Studio
project files or via the Meson build system, as described in the below sections.
For Visual Studio 2008, 2010, a special setup making use of the Windows 8.0 SDK
is required, see at the bottom of this document for guidance.
Interchanging between Visual Studio 2015, 2017 and 2019 builds should be fine
as they use the same CRT (UCRT) DLLs.
After installing the dependencies, there are two ways to build GTK+
for win32.
@@ -152,16 +152,12 @@ would require such for ABI stability).
2) Microsoft's tools
--------------------
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
There are also VS 2008~2017 solution and project files to build GTK+, which
There are VS 2008~2019 solution and project files to build GTK+, which
are maintained by Chun-wei Fan. They should build GTK+ out of the box,
provided that the afore-mentioned dependencies are installed. They will
build GDK with the Win32 backend, GTK+ itself (with GAIL/a11y built in),
the GAIL-Util library and the gtk-demo program. Please also refer to the
README file(s) that reside in build/win32 on how to enable additional features
README file(s) that reside in win32 on how to enable additional features
that are not enabled by default, such as EGL support via libANGLE, which
emulate the GL/EGL calls using Direct3D 9/11.
@@ -181,6 +177,31 @@ instance the makefile.msc files might not produce identically named
DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
If desiring to build binaries for ARM64 (aarch64), one needs to use the
Visual Studio 2017 or 2019 solution files, or use Meson with a
cross-compilation file, with a Windows 10 SDK that supports ARM64
builds. At this point, building the introspection files is not supported
for ARM64 builds, and you will need a Python 3.x interpreter and
glib-compile-resources binaries that run on the build machine. For Visual Studio
2017 ARM64 builds, do also check the Directory.Build.props file in $(srcroot)/win32/vs15
indicates a Windows 10 SDK version that supports ARM64 builds exists on the build machine.
For building ARM64 binaries with the Visual Studio projects, prior to the build,
you may need to update gtk3-gen-srcs.props to pass in the variables GLIB_MKENUMS,
GLIB_GENMARSHAL, GDBUS_CODEGEN and/or GLIB_COMPILE_RESOURCES in the nmake command line
indicated by <GenerateRequiredSourcesBase> so that they point to the glib-mkenums,
glib-genmarshal, gdbus-codegen and glib-compile-resources that will run on the build
machine. You may also need to update gtk3-version-paths.props to update PythonDir to
the installation of the Python 3.x interpreter that will run on the build machine. To carry
out the actual build using the solution files, use the "Configuration Manager" to add the
ARM64 build configs by copying the settings from the x64 configs, and then build the solution.
The build instructions for such builds otherwise follow the standard Win32 (x86) and
x64 builds, but you need to ensure that you have ARM64 builds of the various dependencies.
It may still be possible to carry out the build and build the introspection files with Python 2.7.x
using older versions of GLib and GObject-Introspection, but please note that this is not recommended
and one is on his/her own by doing so.
3) Using Meson (for Visual Studio and MinGW builds)
---
@@ -205,7 +226,7 @@ as the source tree, and launch the Visual Studio command prompt that
matches the build configuration (Visual Studio version and architecture),
and run the following:
- Ensure that both the installation directory of Python and its script
- Ensure that both the installation directory of Python 3.5+ and its script
directory is in your PATH, as well as the Ninja, CMake and pkg-config
executables (if used). If a pkg-config compatible drop-in replacement
tool is being used, ensure that PKG_CONFIG is set to point to the
@@ -271,6 +292,73 @@ If you are building with Visual Studio 2008, note the following items as well:
- The more modern visual style for the print dialog is not applied for Visual
Studio 2008 builds. Any solutions to this is really appreciated.
Support for pre-2012 Visual Studio
==================================
This release of GTK+ requires at least the Windows 8.0 SDK in order to be built
successfully using Visual Studio, which means that building with Visual Studio
2008 or 2010 is possible only with a special setup and must be done in the
command line with Ninja. Please see
https://devblogs.microsoft.com/cppblog/using-the-windows-software-development-kit-sdk-for-windows-8-consumer-preview-with-visual-studio-2010/
for references; basically, assuming that your Windows 8.0 SDK is installed in
`C:\Program Files (x86)\Windows Kits\8.0` (`$(WIN8SDKDIR)` in short), you need
to ensure the following before invoking Meson to configure the build:
- Your `%INCLUDE%` must not include the Windows 7.0/7.1 SDK include directories,
and `$(WIN8SDKDIR)\include\um`, `$(WIN8SDKDIR)\include\um\share` and
`$(WIN8SDKDIR)\include\winrt` (in this order) must be before your stock
Visual Studio 2008/2010 header directories. If you have the DirectX SDK installed,
you should remove its include directory from your `%INCLUDE%` as well.
- You must replace the Windows 7.0/7.1 SDK library directory in `%LIB%` with the
Windows 8.0 SDK library directory, i.e. `$(WIN8SDKDIR)\lib\win8\um\[x86|x64]`.
If you have the DirectX SDK installed, you should remove its library directory
from your `%INCLUDE%` as well.
- You must replace the Windows 7.0/7.1 SDK tools directory from your `%PATH%` with
the Windows 8.0 SDK tools directory, i.e. `$(WIN8SDKDIR)\bin\[x86|x64]`.
If you have the DirectX SDK installed, you should remove its utility directory
from your `%PATH%` as well.
The Windows 8.0 SDK headers may contain an `roapi.h` that cannot be used under plain
C, so to remedy that, change the following lines (around lines 55-57):
// RegisterActivationFactory/RevokeActivationFactory registration cookie
typedef struct {} *RO_REGISTRATION_COOKIE;
// RegisterActivationFactory/DllGetActivationFactory callback
to
// RegisterActivationFactory/RevokeActivationFactory registration cookie
#ifdef __cplusplus
typedef struct {} *RO_REGISTRATION_COOKIE;
#else
typedef struct _RO_REGISTRATION_COOKIE *RO_REGISTRATION_COOKIE; /* make this header includable in C files */
#endif
// RegisterActivationFactory/DllGetActivationFactory callback
This follows what is done in the Windows 8.1 SDK, which contains an `roapi.h`
that is usable under plain C. Please note that you might need to copy that file
into a location that is in your `%INCLUDE%` which precedes the include path for the
Windows 8.0 SDK headers, if you do not have administrative privileges.
Visual Studio 2008 hacks
========================
- You need to run the following lines from your build directory, to embed the
manifests that are generated during the build, assuming the built binaries
are installed to `$(PREFIX)`, after a successful build/installation:
```cmd
> for /r %f in (*.dll.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f (PREFIX)\bin\%~nf;2
> for /r %f in (*.exe.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f (PREFIX)\bin\%~nf;1
```
- If building for amd64/x86_64/x64, sometimes the compilation of sources may seem to hang, which
is caused by an optimization issue in the 2008 x64 compiler. You need to use Task Manager to
remove all running instances of `cl.exe`, which will cause the build process to terminate. Update
the build flags of the sources that hang on compilation by changing its `"/O2"` flag to `"/O1"`
in `build.ninja`, and retry the build, where things should continue to build normally.
Using GTK+ on Win32
===================
@@ -287,13 +375,5 @@ cases, but not in general. Sorry. If you have all GTK+ and GDK calls
in the same thread, it might work. Otherwise, probably not at
all. Possible ways to fix this are being investigated.
Wintab
======
The tablet support uses the Wintab API. The Wintab development kit is
no longer required. The wintab.h header file is bundled with GTK+
sources. Unfortunately it seems that only Wacom tablets come with
support for the Wintab API nowadays.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
--Updated by Fan, Chun-wei <fanc999@yahoo.com.tw>

View File

@@ -27,7 +27,13 @@ if 'DESTDIR' not in os.environ:
shutil.copyfile(installed_lib, installed_lib_dst)
print('Compiling GSettings schemas...')
subprocess.call(['glib-compile-schemas',
glib_compile_schemas = subprocess.check_output(['pkg-config',
'--variable=glib_compile_schemas',
'gio-2.0']).strip()
if not os.path.exists(glib_compile_schemas):
# pkg-config variables only available since GLib 2.62.0.
glib_compile_schemas = 'glib-compile-schemas'
subprocess.call([glib_compile_schemas,
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
print('Updating icon cache...')
@@ -43,4 +49,10 @@ if 'DESTDIR' not in os.environ:
# Untested!
print('Updating module cache for print backends...')
os.makedirs(gtk_printmodule_dir, exist_ok=True)
subprocess.call(['gio-querymodules', gtk_printmodule_dir])
gio_querymodules = subprocess.check_output(['pkg-config',
'--variable=gio_querymodules',
'gio-2.0']).strip()
if not os.path.exists(gio_querymodules):
# pkg-config variables only available since GLib 2.62.0.
gio_querymodules = 'gio-querymodules'
subprocess.call([gio_querymodules, gtk_printmodule_dir])

View File

@@ -1,53 +0,0 @@
# Centralized autotools file
# Create the Visual Studio 2012/2013/2015 project files
# from the Visual Studio 2010 project files
# This autotools file, from GLib, can be used in other projects
# that have Visual Studio build support, and is copied into
# $(srcroot)/build/.
# Author: Fan, Chun-wei
# November 05, 2012
# MSVC_VER_LONG: Long Version of target Visual Studio (2012, 2013, 14 and so on)
# MSVC_VER: Short Version of target Visual Studio (110 for 2012, 120 for 2013, 140 for 2015, 141 for 2017)
# MSVC_TOOLSET: Use if target MSVC toolsett is not in the form v $(MSVC_VER)0, meaning v$(MSVC_TOOLSET)
if MSVC_BASE_NO_TOOLSET_SET
MSVC_BASE_TOOLSET = $(MSVC_BASE_VER)0
endif
if MSVC_NO_TOOLSET_SET
MSVC_TOOLSET = $(MSVC_VER)0
endif
%.sln: $(top_builddir)/build/win32/vs10/Makefile
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
sed 's/2010/$(MSVC_VER_LONG)/g' < $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@
rm $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
%.txt: $(top_builddir)/build/win32/vs10/Makefile
sed 's/vs10/vs$(MSVC_VER)/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
sed 's/VS10/VS$(MSVC_VER)/g' < $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@
rm $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
%.vcxproj: $(top_builddir)/build/win32/vs10/Makefile
if test -e $(top_srcdir)/build/win32/vs10/$@; then \
sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
else \
sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
fi
%.props: $(top_builddir)/build/win32/vs10/Makefile
if test -e $(top_srcdir)/build/win32/vs10/$@; then \
sed 's/<VSVer>10<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
else \
sed 's/<VSVer>10<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
fi
%.vcxproj.filters: $(top_builddir)/build/win32/vs10/Makefile
if test -e $(top_srcdir)/build/win32/vs10/$@; then \
cp $(top_srcdir)/build/win32/vs10/$@ $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
else \
cp $(top_builddir)/build/win32/vs10/$@ $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
fi

View File

@@ -1,5 +0,0 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = win32
-include $(top_srcdir)/git.mk

View File

@@ -1,128 +0,0 @@
# Author: Fan, Chun-wei
# Common autotools file for constructing the g-ir-scanner and
# g-ir-compiler command lines for Visual Studio builds.
# This is copied from $(srcroot)/build from the gobject-introspection
# project, which may be included in projects that support both
# Visual Studio builds and introspection.
# * Input variables:
#
# MSVC_INTROSPECT_GIRS - List of .gir's that should be built
# in the NMake Makefiles
#
# * Simple tutorial
#
# Add this to Makefile.am where your library/program is built:
# (Either YourLib_1_0_gir_MSVC_LIBS or YourLib_1_0_gir_MSVC_PROGRAM
# is required unless --headers-only is specified in
# YourLib_1_0_gir__MSVC_SCANNERFLAGS)
#
# include $(top_srcdir)/build/Makefile.msvc-introspection
# MSVC_INTROSPECT_GIRS = YourLib-1.0.gir
# YourLib_1_0_gir_NAMESPACE = YourLib # This is optional
# YourLib_1_0_gir_VERSION = 1.0 # This is optional
# YourLib_1_0_gir_MSVC_LIBS = yourlib-1.0
# YourLib_1_0_gir_MSVC_FILES = $(libyourlib_1_0_SOURCES)
# YourLib_1_0_gir_MSVC_PROGRAM = YourProgram
# YourLib_1_0_gir_MSVC_PACKAGES = (Dependent .pc files)
# YourLib_1_0_gir_MSVC_INCLUDE_GIRS = (Dependent external .gir's)
# YourLiv_1_0_gir_MSVC_EXPORT_PACKAGES = (Packages exported by this .gir)
# Private functions
## Transform the MSVC project filename (no filename extensions) to something which can reference through a variable
## without automake/make complaining, eg Gtk-2.0 -> Gtk_2_0
_gir_name=$(subst /,_,$(subst -,_,$(subst .,_,$(1))))
# Namespace and Version is either fetched from the gir filename
# or the _NAMESPACE/_VERSION variable combo
_gir_namespace_msvc = $(or $($(_gir_name)_NAMESPACE),$(firstword $(subst -, ,$(notdir $(1)))))
_gir_version_msvc = $(or $($(_gir_name)_VERSION),$(lastword $(subst -, ,$(1:.gir=))))
_typelib_basename_msvc = $(_gir_namespace_msvc)'-'$(_gir_version_msvc)
# _PROGRAM is an optional variable which needs its own --program argument
_gir_program_msvc = $(if $($(_gir_name)_MSVC_PROGRAM),--program=$($(_gir_name)_MSVC_PROGRAM))
# Deduce the sub-folder from $(srcroot) where the sources reside in
_gir_source_path_raw_msvc:=$(subst $(abs_top_srcdir),,$(abs_srcdir))
_gir_source_path_msvc=$(subst /,\\,$(_gir_source_path_raw_msvc))
_gir_source_subdir_int_msvc=$(subst \\\\,\\,\\$(_gir_source_path_msvc)\\)
_gir_source_subdir_msvc=$(subst \\.\\,\\,$(_gir_source_subdir_int_msvc))
_gir_files_raw_msvc=$(subst /,\\,$($(_gir_name)_MSVC_FILES))
_gir_files_msvc=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_gir_source_path_msvc)\\,\\,$(_gir_files_raw_msvc))))
# Create a list of items for:
# - Libraries
# - Packages
# - GIRs to include
# - packages to export
_gir_libraries_msvc = $(foreach lib,$($(_gir_name)_MSVC_LIBS),--library=$(lib))
_gir_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_PACKAGES),--pkg=$(pkg))
_gir_includes_msvc = $(foreach include,$($(_gir_name)_MSVC_INCLUDE_GIRS),--include=$(include))
_gir_export_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_EXPORT_PACKAGES),--pkg-export=$(pkg))
#
# Create NMake Makefile Sections for Building Introspection files
# from autotools files
# $(1) - File Name of the .gir that is to be generated
#
define gir-nmake-builder
# Basic sanity check, to make sure required variables are set
$(if $($(_gir_name)_MSVC_FILES),,$(error Need to define $(_gir_name)_MSVC_FILES))
$(if $(or $(findstring --header-only,$($(_gir_name)_MSVC_SCANNERFLAGS)),
$($(_gir_name)_MSVC_LIBS),
$($(_gir_name)_MSVC_PROGRAM)),,
$(error Need to define $(_gir_name)_MSVC_LIBS or $(_gir_name)_MSVC_PROGRAM))
$(top_builddir)/build/win32/$(_gir_name)_list: Makefile
rm -f $(top_builddir)/build/win32/$(_gir_name)_list
for F in $(_gir_files_msvc); do \
case $$$$F in \
*.c|*.cpp|*.cc|*.cxx|*.h|*.hpp|*.hh|*.hxx) \
echo '..\..'$(_gir_source_subdir_msvc)$$$$F >>$(top_builddir)/build/win32/$(_gir_name)_list \
;; \
esac; \
done
$(top_builddir)/build/win32/$(1).msvc.introspect: Makefile
-$(RM) $(top_builddir)/build/win32/$(1).msvc.introspect
# Assemble the Command to Run g-ir-scanner
echo 'vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\'$(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' @-echo Generating $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(PYTHON) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --verbose -no-libtool \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --namespace='$(_gir_namespace_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --nsversion='$(_gir_version_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_libraries_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_program_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --add-include-path=./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --add-include-path=$$$$(G_IR_INCLUDEDIR) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_includes_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_export_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --cflags-begin \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$($(_gir_name)_MSVC_CFLAGS)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --cflags-end \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$($(_gir_name)_MSVC_SCANNERFLAGS)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --filelist='$(_gir_name)'_list \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' -L.\vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' -o $$$$@'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect
# Finally Assemble the Command to Compile the generated .gir
echo 'vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\$(_typelib_basename_msvc).typelib: vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\'$(_typelib_basename_msvc)'.gir'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' @-echo Compiling $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(G_IR_COMPILER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --includedir=$$$$(@D:\=/) --debug --verbose \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(@R:\=/).gir \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' -o $$$$@'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect
endef
$(foreach gir,$(MSVC_INTROSPECT_GIRS),$(eval $(call gir-nmake-builder,$(gir))))

View File

@@ -1,116 +0,0 @@
# Author: Fan, Chun-wei
# Common Autotools file used to generate Visual Studio 2008+
# Projects from their templates
# This autotools file, from GLib, can be used in other projects
# that have Visual Studio build support, and is copied into
# $(srcroot)/build/.
# * Input variables:
#
# MSVCPROJS - List of Projects that should be generated
#
# * Simple tutorial
#
# Add this to Makefile.am where your library/program is built:
# include $(top_srcdir)/build/Makefile.msvcproj
# MSVCPROJS = YourProject (can be multiple projects in a single srcdir)
# YourProject_FILES = $(libyourlib_1_0_SOURCES)
# YourProject_EXCLUDES = ... # list of sources to exclude, separated by '|', wildcards allowed; use random unsed value if none
# YourProject_HEADERS_DIR = $(libyourlibincludedir)
# YourProject_HEADERS_INST = $(libyourlib_1_0_HEADERS)
# YourProject_HEADERS_EXCLUDES = ... # <list of headers to exclude from installation, separated by '|', wildcards allowed; use random unsed value if none>
#
# dist-hook: \ # (or add to it if it is already there, note the vs9 items will also call the vs10 items in the process)
# $(top_builddir)/build/win32/vs9/YourProject.vcproj \
# $(top_builddir)/build/win32/vs9/YourProject.headers
# Private functions
## Transform the MSVC project filename (no filename extensions) to something which can reference through a variable
## without automake/make complaining, eg Gtk-2.0 -> Gtk_2_0
_proj_name=$(subst /,_,$(subst -,_,$(subst .,_,$(1))))
_proj_path_raw:=$(subst $(abs_top_srcdir),,$(abs_srcdir))
_proj_path=$(subst /,\\,$(_proj_path_raw))
_proj_subdir_int=$(subst \\\\,\\,\\$(_proj_path)\\)
_proj_subdir=$(subst \\.\\,\\,$(_proj_subdir_int))
_proj_files_raw=$(subst /,\\,$($(_proj_name)_FILES))
_proj_files=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_proj_path)\\,\\,$(_proj_files_raw))))
_proj_filters=$($(_proj_name)_EXCLUDES)
_proj_headers_raw=$(subst /,\\,$($(_proj_name)_HEADERS_INST))
_proj_headers=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_proj_path)\\,\\,$(_proj_headers_raw))))
_proj_headers_excludes=$($(_proj_name)_HEADERS_EXCLUDES)
_headers_dest_posix=$(subst $(includedir),,$($(_proj_name)_HEADERS_DIR))
_headers_destdir=$(subst /,\\,$(_headers_dest_posix))
#
# Creates Visual Studio 2008/2010 projects from items passed in from autotools files
# $(1) - Base Name of the MSVC project files (outputs)
#
define msvcproj-builder
$(top_builddir)/build/win32/vs10/$(1).vcxproj: $(top_builddir)/build/win32/vs9/$(1).vcproj
$(top_builddir)/build/win32/vs10/$(1).vcxproj.filters: $(top_builddir)/build/win32/vs9/$(1).vcproj
$(1).sourcefiles: $(top_builddir)/build/win32/vs9/$(1).vcproj
$(1).vs10.sourcefiles: $(top_builddir)/build/win32/vs9/$(1).vcproj
$(1).vs10.sourcefiles.filters: $(top_builddir)/build/win32/vs9/$(1).vcproj
$(top_builddir)/build/win32/vs9/$(1).vcproj: Makefile
-$(RM) $(top_builddir)/build/win32/vs9/$(1).vcproj
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vcxproj
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vcxproj.filters
-$(RM) $(top_builddir)/build/win32/vs11/$(1).vcxproj
-$(RM) $(top_builddir)/build/win32/vs11/$(1).vcxproj.filters
-$(RM) $(top_builddir)/build/win32/vs12/$(1).vcxproj
-$(RM) $(top_builddir)/build/win32/vs12/$(1).vcxproj.filters
-$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj
-$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj.filters
-$(RM) $(top_builddir)/build/win32/vs15/$(1).vcxproj
-$(RM) $(top_builddir)/build/win32/vs15/$(1).vcxproj.filters
for F in $(_proj_files); do \
case $$$$F in \
$(_proj_filters)) \
;; \
*.c|*.cpp|*.cc|*.cxx) \
echo ' <File RelativePath="..\..\..'$(_proj_subdir)$$$$F'" />' >>$(1).sourcefiles && \
echo ' <ClCompile Include="..\..\..'$(_proj_subdir)$$$$F'" />' >>$(1).vs10.sourcefiles && \
echo ' <ClCompile Include="..\..\..'$(_proj_subdir)$$$$F'"><Filter>Source Files</Filter></ClCompile>' >>$(1).vs10.sourcefiles.filters \
;; \
esac; \
done
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/$(1).vcprojin >$(top_builddir)/build/win32/vs9/$(1).vcproj
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(1).vcxprojin >$(top_builddir)/build/win32/vs10/$(1).vcxproj
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(1).vcxproj.filtersin >$(top_builddir)/build/win32/vs10/$(1).vcxproj.filters
$(RM) $(1).sourcefiles
$(RM) $(1).vs10.sourcefiles
$(RM) $(1).vs10.sourcefiles.filters
$(top_builddir)/build/win32/vs10/$(1).vs10.headers: $(top_builddir)/build/win32/vs9/$(1).headers
$(top_builddir)/build/win32/vs9/$(1).headers: Makefile
-$(RM) $(top_builddir)/build/win32/vs9/$(1).headers
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vs10.headers
for F in $(_proj_headers); do \
case $$$$F in \
$(_proj_headers_excludes)) \
;; \
*.h|*.hpp|*.hh|*.hxx) \
echo 'copy ..\..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F'&#x0D;&#x0A;' >>$(top_builddir)/build/win32/vs9/$(1).headers && \
echo 'copy ..\..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F >>$(top_builddir)/build/win32/vs10/$(1).vs10.headers \
;; \
esac; \
done
endef
$(foreach proj,$(MSVCPROJS),$(eval $(call msvcproj-builder,$(proj))))

View File

@@ -1,54 +0,0 @@
include $(top_srcdir)/Makefile.decl
if HAVE_INTROSPECTION
GENERATED_ITEMS = \
introspection.body.mak \
Gdk_3_0_gir_list \
GdkWin32_3_0_gir_list \
Gtk_3_0_gir_list
MSVC_INTROSPECTION_INTERMEDIATE_FILES = Gdk-3.0.gir.msvc.introspect GdkWin32-3.0.gir.msvc.introspect Gtk-3.0.gir.msvc.introspect
introspection.body.mak: $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
-$(RM) introspection.body.mak
for F in `ls *.msvc.introspect`; do \
case $$F in \
*) cat $(top_builddir)/build/win32/$$F >>introspection.body.mak \
;; \
esac; \
done
$(RM) $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
DISTCLEANFILES = $(GENERATED_ITEMS)
else
GENERATED_ITEMS =
DISTCLEANFILES =
endif
SUBDIRS = \
vs9 \
vs10 \
vs11 \
vs12 \
vs14 \
vs15 \
vs16
EXTRA_DIST += \
config-msvc.mak \
config-msvc.mak.in \
create-lists.bat \
create-lists-msvc.mak \
detectenv-msvc.mak \
gen-gdkversionmacros-h.py \
generate-msvc.mak \
gtk-introspection-msvc.mak \
introspection-msvc.mak \
replace.py \
pc_base.py \
gtkpc.py \
README_EGL_MSVC.txt \
$(GENERATED_ITEMS)
-include $(top_srcdir)/git.mk

View File

@@ -1,29 +0,0 @@
Notes on enabling EGL (ANGLE/D3D support) for Windows/Visual Studio builds
==========================================================================
There is now support in the GL context creation code for Windows in GDK for
creating and using EGL (OpenGL ES 3) contexts, which can be used instead of
the existing OpenGL (Desktop) support, especially when the graphics drivers
do not support OpenGL adequately.
This support is not enabled by default in the project files. In order to do
so, please do the following:
-Obtain or compile a build of recent version of ANGLE. The one that comes
with QT 5.10.x is sufficiently recent, but not the one that comes with QT-
5.6.x. Note that Visual Studio 2013 or later is required for building
ANGLE from QT-5.10.x, but the Visual Studio 2013-built ANGLE DLLs does work
without problems with GTK+ built with Visual Studio 2008~2013. You may
need to obtain D3Dcompiler_[47|43|42].dll if it does not come with the
system (which is part of the DirectX runtimes). Its headers and .lib
needs to be set to be found by the compiler and linker respectively before
building libepoxy.
-Build libepoxy with EGL support, which has to be enabled explicitly on
Windows builds. Pass in -Degl=yes when building libepoxy using Meson.
Build and install, making sure the headers and .lib can be located by the
compiler and linker respectively.
-Open the vsX/gtk+.sln, and open the project properties in the "gdk3-win32"
project. Under "C/C++", add GDK_WIN32_ENABLE_EGL in the "Preprocessor
Definitions" to the existing definitions in there for the configuration
that is being built. Then build the solution.
-To force the use of the EGL code, set the envvar GDK_GL=(...,)gles , where (...,)
are the other GDK_GL options desired.

View File

@@ -1,101 +0,0 @@
# Convert the source listing to object (.obj) listing in
# another NMake Makefile module, include it, and clean it up.
# This is a "fact-of-life" regarding NMake Makefiles...
# This file does not need to be changed unless one is maintaining the NMake Makefiles
# For those wanting to add things here:
# To add a list, do the following:
# # $(description_of_list)
# if [call create-lists.bat header $(makefile_snippet_file) $(variable_name)]
# endif
#
# if [call create-lists.bat file $(makefile_snippet_file) $(file_name)]
# endif
#
# if [call create-lists.bat footer $(makefile_snippet_file)]
# endif
# ... (repeat the if [call ...] lines in the above order if needed)
# !include $(makefile_snippet_file)
#
# (add the following after checking the entries in $(makefile_snippet_file) is correct)
# (the batch script appends to $(makefile_snippet_file), you will need to clear the file unless the following line is added)
#!if [del /f /q $(makefile_snippet_file)]
#!endif
# In order to obtain the .obj filename that is needed for NMake Makefiles to build DLLs/static LIBs or EXEs, do the following
# instead when doing 'if [call create-lists.bat file $(makefile_snippet_file) $(file_name)]'
# (repeat if there are multiple $(srcext)'s in $(source_list), ignore any headers):
# !if [for %c in ($(source_list)) do @if "%~xc" == ".$(srcext)" @call create-lists.bat file $(makefile_snippet_file) $(intdir)\%~nc.obj]
#
# $(intdir)\%~nc.obj needs to correspond to the rules added in build-rules-msvc.mak
# %~xc gives the file extension of a given file, %c in this case, so if %c is a.cc, %~xc means .cc
# %~nc gives the file name of a given file without extension, %c in this case, so if %c is a.cc, %~nc means a
NULL=
# For GDK resources
!if [call create-lists.bat header resources_sources.mak GDK_RESOURCES]
!endif
!if [for %f in (..\..\gdk\resources\glsl\*.glsl) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [call create-lists.bat footer resources_sources.mak]
!endif
!if [call create-lists.bat header resources_sources.mak GTK_RESOURCES]
!endif
!if [for %f in (..\..\gtk\theme\Adwaita\gtk.css ..\..\gtk\theme\Adwaita\gtk-dark.css ..\..\gtk\theme\Adwaita\gtk-contained.css ..\..\gtk\theme\Adwaita\gtk-contained-dark.css) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [for %x in (png svg) do @(for %f in (..\..\gtk\theme\Adwaita\assets\*.%x) do @call create-lists.bat file resources_sources.mak %f)]
!endif
!if [for %f in (..\..\gtk\theme\HighContrast\gtk.css ..\..\gtk\theme\HighContrast\gtk-inverse.css ..\..\gtk\theme\HighContrast\gtk-contained.css ..\..\gtk\theme\HighContrast\gtk-contained-inverse.css) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [for %x in (png svg) do @(for %f in (..\..\gtk\theme\HighContrast\assets\*.%x) do @call create-lists.bat file resources_sources.mak %f)]
!endif
!if [for %f in (..\..\gtk\theme\win32\gtk-win32-base.css ..\..\gtk\theme\win32\gtk.css) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [for %f in (..\..\gtk\cursor\*.png ..\..\gtk\gesture\*.symbolic.png ..\..\gtk\ui\*.ui) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [for %s in (16 22 24 32 48) do @(for %c in (actions status categories) do @(for %f in (..\..\gtk\icons\%sx%s\%c\*.png) do @call create-lists.bat file resources_sources.mak %f))]
!endif
!if [for %s in (scalable) do @(for %c in (status) do @(for %f in (..\..\gtk\icons\%s\%c\*.svg) do @call create-lists.bat file resources_sources.mak %f))]
!endif
!if [for %f in (..\..\gtk\inspector\*.ui ..\..\gtk\inspector\logo.png ..\..\gtk\emoji\emoji.data) do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [call create-lists.bat footer resources_sources.mak]
!endif
!if [call create-lists.bat header resources_sources.mak GTK_DEMO_RESOURCES]
!endif
!if [for /f %f in ('$(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir=..\..\demos\gtk-demo ..\..\demos\gtk-demo\demo.gresource.xml') do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [call create-lists.bat footer resources_sources.mak]
!endif
!if [call create-lists.bat header resources_sources.mak ICON_BROWSER_RESOURCES]
!endif
!if [for /f %f in ('$(GLIB_COMPILE_RESOURCES) --sourcedir=..\..\demos\icon-browser --generate-dependencies ..\..\demos\icon-browser\iconbrowser.gresource.xml') do @call create-lists.bat file resources_sources.mak %f]
!endif
!if [call create-lists.bat footer resources_sources.mak]
!endif
!include resources_sources.mak
!if [del /f /q resources_sources.mak]
!endif

View File

@@ -1,33 +0,0 @@
#!/usr/bin/python3
# Generate gdk/gdkversionmacros.h
# Author: Fan, Chun-wei
# Date: July 25, 2019
import os
import sys
import argparse
from replace import replace_multi, replace
def main(argv):
srcdir = os.path.dirname(__file__)
top_srcdir = os.path.join(srcdir, os.pardir, os.pardir)
parser = argparse.ArgumentParser(description='Generate gdkversionmacros.h')
parser.add_argument('--version', help='Version of the package',
required=True)
args = parser.parse_args()
gdk_sourcedir = os.path.join(top_srcdir, 'gdk')
version_parts = args.version.split('.')
gdkversionmacro_replace_items = {'@GTK_MAJOR_VERSION@': version_parts[0],
'@GTK_MINOR_VERSION@': version_parts[1],
'@GTK_MICRO_VERSION@': version_parts[2]}
replace_multi(os.path.join(gdk_sourcedir, 'gdkversionmacros.h.in'),
os.path.join(gdk_sourcedir, 'gdkversionmacros.h'),
gdkversionmacro_replace_items)
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@@ -1,222 +0,0 @@
# NMake Makefile portion for code generation and
# intermediate build directory creation
# Items in here should not need to be edited unless
# one is maintaining the NMake build files.
!include config-msvc.mak
!include create-lists-msvc.mak
# Copy the pre-defined gdkconfig.h.[win32|win32_broadway]
!if "$(CFG)" == "release" || "$(CFG)" == "Release"
GDK_OLD_CFG = debug
!else
GDK_OLD_CFG = release
!endif
!ifdef BROADWAY
GDK_CONFIG = broadway
GDK_DEL_CONFIG = win32
GDK_CONFIG_TEMPLATE = ..\..\gdk\gdkconfig.h.win32_broadway
!else
GDK_CONFIG = win32
GDK_DEL_CONFIG = broadway
GDK_CONFIG_TEMPLATE = ..\..\gdk\gdkconfig.h.win32
!endif
GDK_MARSHALERS_FLAGS = --prefix=_gdk_marshal --valist-marshallers
GDK_RESOURCES_ARGS = ..\..\gdk\gdk.gresource.xml --target=$@ --sourcedir=..\..\gdk --c-name _gdk --manual-register
GTK_MARSHALERS_FLAGS = --prefix=_gtk_marshal --valist-marshallers
GTK_RESOURCES_ARGS = ..\..\gtk\gtk.gresource.xml --target=$@ --sourcedir=..\..\gtk --c-name _gtk --manual-register
all: \
..\..\config.h \
..\..\gdk\gdkconfig.h \
..\..\gdk\gdkversionmacros.h \
..\..\gdk\gdkmarshalers.h \
..\..\gdk\gdkmarshalers.c \
..\..\gdk\gdkresources.h \
..\..\gdk\gdkresources.c \
..\..\gtk\gtk-win32.rc \
..\..\gtk\libgtk3.manifest \
..\..\gtk\gtkdbusgenerated.h \
..\..\gtk\gtkdbusgenerated.c \
..\..\gtk\gtktypefuncs.inc \
..\..\gtk\gtk.gresource.xml \
..\..\gtk\gtkmarshalers.h \
..\..\gtk\gtkmarshalers.c \
..\..\gtk\gtkresources.h \
..\..\gtk\gtkresources.c \
..\..\demos\gtk-demo\demos.h \
..\..\demos\gtk-demo\demo_resources.c \
..\..\demos\icon-browser\resources.c
# Copy the pre-defined config.h.win32 and demos.h.win32
..\..\config.h: ..\..\config.h.win32
..\..\demos\gtk-demo\demos.h: ..\..\demos\gtk-demo\demos.h.win32
..\..\gtk\gtk-win32.rc: ..\..\gtk\gtk-win32.rc.body
..\..\gdk-$(CFG)-$(GDK_CONFIG)-build: $(GDK_CONFIG_TEMPLATE)
@if exist ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build del ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build
@if exist ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_CONFIG)-build del ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_CONFIG)-build
@if exist ..\..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build del ..\..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build
@copy $** $@
..\..\gdk\gdkconfig.h: ..\..\gdk-$(CFG)-$(GDK_CONFIG)-build
..\..\config.h \
..\..\gdk\gdkconfig.h \
..\..\gtk\gtk-win32.rc \
..\..\demos\gtk-demo\demos.h:
@echo Copying $@...
@copy $** $@
..\..\gdk\gdkversionmacros.h: ..\..\gdk\gdkversionmacros.h.in
@echo Generating $@...
@$(PYTHON) gen-gdkversionmacros-h.py --version=$(GTK_VERSION)
..\..\gdk\gdkmarshalers.h: ..\..\gdk\gdkmarshalers.list
@echo Generating $@...
@$(PYTHON) $(GLIB_GENMARSHAL) $(GDK_MARSHALERS_FLAGS) --header $** > $@.tmp
@move $@.tmp $@
..\..\gdk\gdkmarshalers.c: ..\..\gdk\gdkmarshalers.list
@echo Generating $@...
@$(PYTHON) $(GLIB_GENMARSHAL) $(GDK_MARSHALERS_FLAGS) --body $** > $@.tmp
@move $@.tmp $@
..\..\gdk\gdk.gresource.xml: $(GDK_RESOURCES)
@echo Generating $@...
@echo ^<?xml version='1.0' encoding='UTF-8'?^> >$@
@echo ^<gresources^> >> $@
@echo ^<gresource prefix='/org/gtk/libgdk'^> >> $@
@for %%f in (..\..\gdk\resources\glsl\*.glsl) do @echo ^<file alias='glsl/%%~nxf'^>resources/glsl/%%~nxf^</file^> >> $@
@echo ^</gresource^> >> $@
@echo ^</gresources^> >> $@
..\..\gdk\gdkresources.h: ..\..\gdk\gdk.gresource.xml
@echo Generating $@...
@if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
@if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
@if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
@$(GLIB_COMPILE_RESOURCES) $(GDK_RESOURCES_ARGS) --generate-header
..\..\gdk\gdkresources.c: ..\..\gdk\gdk.gresource.xml $(GDK_RESOURCES)
@echo Generating $@...
@if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
@if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
@if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
@$(GLIB_COMPILE_RESOURCES) $(GDK_RESOURCES_ARGS) --generate-source
..\..\gtk\libgtk3.manifest: ..\..\gtk\libgtk3.manifest.in
@echo Generating $@...
@$(PYTHON) replace.py \
--action=replace-var \
--input=$** --output=$@ \
--var=EXE_MANIFEST_ARCHITECTURE \
--outstring=*
..\..\gtk\gtkdbusgenerated.h ..\..\gtk\gtkdbusgenerated.c: ..\..\gtk\gtkdbusinterfaces.xml
@echo Generating GTK DBus sources...
@$(PYTHON) $(PREFIX)\bin\gdbus-codegen \
--interface-prefix org.Gtk. --c-namespace _Gtk \
--generate-c-code gtkdbusgenerated $** \
--output-directory $(@D)
..\..\gtk\gtktypefuncs.inc: ..\..\gtk\gentypefuncs.py
@echo Generating $@...
@echo #undef GTK_COMPILATION > $(@R).preproc.c
@echo #include "gtkx.h" >> $(@R).preproc.c
@cl /EP $(GTK_PREPROCESSOR_FLAGS) $(@R).preproc.c > $(@R).combined.c
@$(PYTHON) $** $@ $(@R).combined.c
@del $(@R).preproc.c $(@R).combined.c
..\..\gtk\gtk.gresource.xml: $(GTK_RESOURCES)
@echo Generating $@...
@echo ^<?xml version='1.0' encoding='UTF-8'?^>> $@
@echo ^<gresources^>>> $@
@echo ^<gresource prefix='/org/gtk/libgtk'^>>> $@
@echo ^<file^>theme/Adwaita/gtk.css^</file^>>> $@
@echo ^<file^>theme/Adwaita/gtk-dark.css^</file^>>> $@
@echo ^<file^>theme/Adwaita/gtk-contained.css^</file^>>> $@
@echo ^<file^>theme/Adwaita/gtk-contained-dark.css^</file^>>> $@
@for %%f in (..\..\gtk\theme\Adwaita\assets\*.png) do @echo ^<file preprocess='to-pixdata'^>theme/Adwaita/assets/%%~nxf^</file^>>> $@
@for %%f in (..\..\gtk\theme\Adwaita\assets\*.svg) do @echo ^<file^>theme/Adwaita/assets/%%~nxf^</file^>>> $@
@echo ^<file^>theme/HighContrast/gtk.css^</file^>>> $@
@echo ^<file alias='theme/HighContrastInverse/gtk.css'^>theme/HighContrast/gtk-inverse.css^</file^>>> $@
@echo ^<file^>theme/HighContrast/gtk-contained.css^</file^>>> $@
@echo ^<file^>theme/HighContrast/gtk-contained-inverse.css^</file^>>> $@
@for %%f in (..\..\gtk\theme\HighContrast\assets\*.png) do @echo ^<file preprocess='to-pixdata'^>theme/HighContrast/assets/%%~nxf^</file^>>> $@
@for %%f in (..\..\gtk\theme\HighContrast\assets\*.svg) do @echo ^<file^>theme/HighContrast/assets/%%~nxf^</file^>>> $@
@echo ^<file^>theme/win32/gtk-win32-base.css^</file^>>> $@
@echo ^<file^>theme/win32/gtk.css^</file^>>> $@
@for %%f in (..\..\gtk\cursor\*.png) do @echo ^<file^>cursor/%%~nxf^</file^>>> $@
@for %%f in (..\..\gtk\gesture\*.symbolic.png) do @echo ^<file alias='icons/64x64/actions/%%~nxf'^>gesture/%%~nxf^</file^>>> $@
@for %%f in (..\..\gtk\ui\*.ui) do @echo ^<file preprocess='xml-stripblanks'^>ui/%%~nxf^</file^>>> $@
@for %%s in (16 22 24 32 48) do @(for %%c in (actions status categories) do @(for %%f in (..\..\gtk\icons\%%sx%%s\%%c\*.png) do @echo ^<file^>icons/%%sx%%s/%%c/%%~nxf^</file^>>> $@))
@for %%s in (scalable) do @(for %%c in (status) do @(for %%f in (..\..\gtk\icons\%%s\%%c\*.svg) do @echo ^<file^>icons/%%s/%%c/%%~nxf^</file^>>> $@))
@for %%f in (..\..\gtk\inspector\*.ui) do @echo ^<file compressed='true' preprocess='xml-stripblanks'^>inspector/%%~nxf^</file^>>> $@
@echo ^<file^>inspector/logo.png^</file^>>> $@
@echo ^<file^>emoji/emoji.data^</file^>>> $@
@echo ^</gresource^>>> $@
@echo ^</gresources^>>> $@
..\..\gtk\gtkresources.h: ..\..\gtk\gtk.gresource.xml
@echo Generating $@...
@if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
@if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
@if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
@$(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) --generate-header
..\..\gtk\gtkresources.c: ..\..\gtk\gtk.gresource.xml $(GTK_RESOURCES)
@echo Generating $@...
@if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
@if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
@if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
@$(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) --generate-source
..\..\gtk\gtkmarshalers.h: ..\..\gtk\gtkmarshalers.list
@echo Generating $@...
@$(PYTHON) $(GLIB_GENMARSHAL) $(GTK_MARSHALERS_FLAGS) --header $** > $@.tmp
@move $@.tmp $@
..\..\gtk\gtkmarshalers.c: ..\..\gtk\gtkmarshalers.list
@echo Generating $@...
@echo #undef G_ENABLE_DEBUG> $@.tmp
@$(PYTHON) $(GLIB_GENMARSHAL) $(GTK_MARSHALERS_FLAGS) --body $** >> $@.tmp
@move $@.tmp $@
..\..\demos\gtk-demo\demo_resources.c: ..\..\demos\gtk-demo\demo.gresource.xml $(GTK_DEMO_RESOURCES)
@echo Generating $@...
@$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(@D) --generate-source $(@D)\demo.gresource.xml
..\..\demos\icon-browser\resources.c: ..\..\demos\icon-browser\iconbrowser.gresource.xml $(ICON_BROWSER_RESOURCES)
@echo Generating $@...
@$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(@D) --generate-source $(@D)\iconbrowser.gresource.xml
# Remove the generated files
clean:
@-del /f /q ..\..\demos\icon-browser\resources.c
@-del /f /q ..\..\demos\gtk-demo\demo_resources.c
@-del /f /q ..\..\demos\gtk-demo\demos.h
@-del /f /q ..\..\gtk\gtkresources.c
@-del /f /q ..\..\gtk\gtkresources.h
@-del /f /q ..\..\gtk\gtkmarshalers.c
@-del /f /q ..\..\gtk\gtkmarshalers.h
@-del /f /q ..\..\gtk\gtk.gresource.xml
@-del /f /q ..\..\gtk\gtktypefuncs.inc
@-del /f /q ..\..\gtk\gtkdbusgenerated.c
@-del /f /q ..\..\gtk\gtkdbusgenerated.h
@-del /f /q ..\..\gtk\libgtk3.manifest
@-del /f /q ..\..\gtk\gtk-win32.rc
@-del /f /q ..\..\gdk\gdkresources.c
@-del /f /q ..\..\gdk\gdkresources.h
@-del /f /q ..\..\gdk\gdk.gresource.xml
@-del /f /q ..\..\gdk\gdkmarshalers.c
@-del /f /q ..\..\gdk\gdkmarshalers.h
@-del /f /q ..\..\gdk\gdkversionmacros.h
@-del /f /q ..\..\gdk\gdkconfig.h
@if exist ..\..\gdk-$(CFG)-$(GDK_CONFIG)-build del ..\..\gdk-$(CFG)-$(GDK_CONFIG)-build
@if exist ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build del ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build
@if exist ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_CONFIG)-build del ..\..\gdk-$(GDK_OLD_CFG)-$(GDK_CONFIG)-build
@if exist ..\..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build del ..\..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build
@-del /f /q ..\..\config.h

View File

@@ -1,50 +0,0 @@
# NMake Makefile to build Introspection Files for GTK+
!include detectenv-msvc.mak
APIVERSION = 3.0
CHECK_PACKAGE = gdk-pixbuf-2.0 atk pangocairo gio-2.0
built_install_girs = \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gdk-$(APIVERSION).gir \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).gir \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gtk-$(APIVERSION).gir
built_install_typelibs = \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gdk-$(APIVERSION).typelib \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).typelib \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gtk-$(APIVERSION).typelib
!include introspection-msvc.mak
!if "$(BUILD_INTROSPECTION)" == "TRUE"
!if "$(PLAT)" == "x64"
AT_PLAT=x86_64
!else
AT_PLAT=i686
!endif
all: setgirbuildenv $(built_install_girs) $(built_install_typelibs)
setgirbuildenv:
@set PYTHONPATH=$(PREFIX)\lib\gobject-introspection
@set PATH=vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(PREFIX)\bin;$(PATH)
@set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
@set LIB=vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(LIB)
!include introspection.body.mak
install-introspection: all
@-copy vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.gir "$(G_IR_INCLUDEDIR)"
@-copy /b vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.typelib "$(G_IR_TYPELIBDIR)"
!else
all:
@-echo $(ERROR_MSG)
!endif
clean:
@-del /f/q vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.typelib
@-del /f/q vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.gir

View File

@@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_Broadway|Win32">
<Configuration>Debug_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|x64">
<Configuration>Debug_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|Win32">
<Configuration>Release_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|x64">
<Configuration>Release_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E9687D21-E214-4A0C-9EB4-8B38EBB783E5}</ProjectGuid>
<RootNamespace>broadwayd</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
#include "broadwayd.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gtk3-prebuild.vcxproj">
<Project>{b98fbe68-b03c-48e3-8f32-c3c010720d30}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A1FCED61-4E51-4015-A70C-5373404D1BA0}</ProjectGuid>
<RootNamespace>gailutil</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
#include "gailutil-3.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,333 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|Win32">
<Configuration>Debug_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|x64">
<Configuration>Debug_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|Win32">
<Configuration>Release_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|x64">
<Configuration>Release_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}</ProjectGuid>
<RootNamespace>gdk3</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-ignore-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-ignore-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-ignore-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-ignore-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-copy-gdk-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-copy-gdk-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-copy-gdk-broadway.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-copy-gdk-broadway.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc" />
</ItemGroup>
<ItemGroup>
#include "gdk-3.vs10.sourcefiles"
<ClCompile Include="..\..\..\gdk\gdkkeynames.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk3-broadway.vcxproj">
<Project>{1df4c475-4472-4ee4-ac2b-3ab5a4c1a453}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gdk3-win32.vcxproj">
<Project>{aba7685a-7cbb-4626-b5e5-6eeea5b489ef}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,131 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_Broadway|Win32">
<Configuration>Debug_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|x64">
<Configuration>Debug_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|Win32">
<Configuration>Release_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|x64">
<Configuration>Release_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1DF4C475-4472-4EE4-AC2B-3AB5A4C1A453}</ProjectGuid>
<RootNamespace>gdkbroadway</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
#include "gdk3-broadway.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gtk3-prebuild.vcxproj">
<Project>{b98fbe68-b03c-48e3-8f32-c3c010720d30}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,131 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{ABA7685A-7CBB-4626-B5E5-6EEEA5B489EF}</ProjectGuid>
<RootNamespace>gdkwin32</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
#include "gdk3-win32.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gtk3-prebuild.vcxproj">
<Project>{b98fbe68-b03c-48e3-8f32-c3c010720d30}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc"><Filter>Resource Files</Filter></ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "gtk-3.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imam-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcedilla.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\iminuktitut.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imipa.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\immultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-er.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imviqr.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<Manifest Include="..\..\..\gtk\libgtk3.manifest"><Filter>Resource Files</Filter></Manifest>
</ItemGroup>
</Project>

View File

@@ -1,198 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{95A4B53D-2773-4406-A2C1-8FD2840BBAD8}</ProjectGuid>
<RootNamespace>gtk3</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
</ItemGroup>
<ItemGroup>
#include "gtk-3.vs10.sourcefiles"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c" />
<ClCompile Include="..\..\..\modules\input\imam-et.c" />
<ClCompile Include="..\..\..\modules\input\imcedilla.c" />
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c" />
<ClCompile Include="..\..\..\modules\input\imime.c" />
<ClCompile Include="..\..\..\modules\input\iminuktitut.c" />
<ClCompile Include="..\..\..\modules\input\imipa.c" />
<ClCompile Include="..\..\..\modules\input\immultipress.c" />
<ClCompile Include="..\..\..\modules\input\imthai.c" />
<ClCompile Include="..\..\..\modules\input\imti-er.c" />
<ClCompile Include="..\..\..\modules\input\imti-et.c" />
<ClCompile Include="..\..\..\modules\input\imviqr.c" />
<ClCompile Include="..\..\..\modules\input\thai-charprop.c" />
</ItemGroup>
<ItemGroup>
<Manifest Include="..\..\..\gtk\libgtk3.manifest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7D2397CF-4C25-45BC-A1BB-CB4B6E154BBD}</ProjectGuid>
<RootNamespace>gtkbuildertool</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gtk\gtk-builder-tool.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F280BF1A-777A-4FB5-8005-DFBE04621EDB}</ProjectGuid>
<RootNamespace>gtkencodesymbolicsvg</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gtk\encodesymbolic.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9F22107A-3EF7-4B52-B269-747B65307F36}</ProjectGuid>
<RootNamespace>gtkquerysettings</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gtk\gtk-query-settings.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC98AF16-4C68-42DF-906B-93A6804C198A}</ProjectGuid>
<RootNamespace>gtkupdateiconcache</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gtk\updateiconcache.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gtk3-prebuild.vcxproj">
<Project>{b98fbe68-b03c-48e3-8f32-c3c010720d30}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3copygdkbroadwayprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
</Link>
<PostBuildEvent>
<Command>
if "$(Configuration)" == "Release" goto END
if "$(Configuration)" == "Debug" goto END
if "$(Configuration)" == "Release_Broadway" goto DoRelease
if "$(Configuration)" == "Debug_Broadway" goto DoDebug
:DoRelease
mkdir .\Release\$(Platform)\bin
copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll .\Release\$(Platform)\bin\
copy /b $(Configuration)\$(Platform)\bin\gdk-$(ApiVersion).lib .\Release\$(Platform)\bin\
goto END
:DoDebug
mkdir .\Debug\$(Platform)\bin
copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll .\Debug\$(Platform)\bin\
copy /b $(Configuration)\$(Platform)\bin\gdk-$(ApiVersion).lib .\Debug\$(Platform)\bin\
goto END
:END
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
</Project>

View File

@@ -1,173 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{BE6B4973-C6FF-4C8F-8E97-A47793C50F44}</ProjectGuid>
<RootNamespace>gtk3demoapplication</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
#include "gtk3-demo-application.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,183 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}</ProjectGuid>
<RootNamespace>gtk3demo</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<FunctionLevelLinking>false</FunctionLevelLinking>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<FunctionLevelLinking>false</FunctionLevelLinking>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
#include "gtk3-demo.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<GenerateRequiredSourcesBase>cd ..
set VCInstallDir=$(VCInstallDir)
nmake -f generate-msvc.mak PREFIX=$(GlibEtcInstallRoot)</GenerateRequiredSourcesBase>
<GeneratedGdkSources>..\..\..\config.h;..\..\..\gdk\gdkconfig.h;..\..\gdk\gdkversionmacros.h;..\..\..\gdk\gdkmarshalers.h;..\..\..\gdk\gdkmarshalers.c;..\..\..\gdk\gdkresources.h;..\..\..\gdk\gdkresources.c</GeneratedGdkSources>
<GeneratedGtkSources>..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;..\..\..\gtk\gtkdbusgenerated.h;..\..\..\gtk\gtkdbusgenerated.c</GeneratedGtkSources>
<GeneratedDemoSources>..\..\..\demos\gtk-demo\demos.h</GeneratedDemoSources>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3gensrcsprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemGroup>
<BuildMacro Include="GenerateRequiredSourcesBase">
<Value>$(GenerateRequiredSourcesBase)</Value>
</BuildMacro>
<BuildMacro Include="GeneratedGdkSources">
<Value>$(GeneratedGdkSources)</Value>
</BuildMacro>
<BuildMacro Include="GeneratedGtkSources">
<Value>$(GeneratedGtkSources)</Value>
</BuildMacro>
<BuildMacro Include="GeneratedDemoSources">
<Value>$(GeneratedDemoSources)</Value>
</BuildMacro>
</ItemGroup>
</Project>

View File

@@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{343333C4-D46C-4C97-A986-959CCA6F1DE0}</ProjectGuid>
<RootNamespace>gtk3iconbrowser</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
#include "gtk3-icon-browser.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3ignorebroadwayprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
<AdditionalDependencies>$(OutDir)\gdk3-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -1,199 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
<GtkDoInstallBin>
mkdir $(CopyDir)\bin
mkdir $(CopyDir)\share\gir-1.0
mkdir $(CopyDir)\lib\pkgconfig
mkdir $(CopyDir)\lib\girepository-1.0
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\gdk-$(ApiVersion).lib" $(CopyDir)\lib
if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_BIN
if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_BIN
copy "$(BinDir)\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-$(ApiVersion).lib" $(CopyDir)\lib
copy "$(BinDir)\gailutil-$(ApiVersion).lib" $(CopyDir)\lib
copy "$(BinDir)\gtk3-demo.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo-application.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo-application.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk3-icon-browser.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-icon-browser.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-encode-symbolic-svg.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-encode-symbolic-svg.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-update-icon-cache.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-update-icon-cache.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-query-settings.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-query-settings.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.pdb" $(CopyDir)\bin
if exist $(BinDir)\Gdk-3.0.gir copy "$(BinDir)\Gdk-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\GdkWin32-3.0.gir copy "$(BinDir)\GdkWin32-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\Gtk-3.0.gir copy "$(BinDir)\Gtk-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\Gdk-3.0.typelib copy "$(BinDir)\Gdk-3.0.typelib" $(CopyDir)\lib\girepository-1.0
if exist $(BinDir)\GdkWin32-3.0.typelib copy "$(BinDir)\GdkWin32-3.0.typelib" $(CopyDir)\lib\girepository-1.0
if exist $(BinDir)\Gtk-3.0.typelib copy "$(BinDir)\Gtk-3.0.typelib" $(CopyDir)\lib\girepository-1.0
goto DONE_BIN
:DO_BROADWAY_BIN
copy "$(BinDir)\broadwayd.exe" $(CopyDir)\bin
copy "$(BinDir)\broadwayd.pdb" $(CopyDir)\bin
if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_RELEASE
if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_DEBUG
:DO_BROADWAY_RELEASE
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
copy .\Release\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
copy .\Release\$(Platform)\bin\gtk3-demo.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo-application.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo-application.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-icon-browser.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
if exist .\Release\$(Platform)\bin\Gdk-3.0.gir copy .\Release\$(Platform)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\GdkWin32-3.0.gir copy .\Release\$(Platform)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\Gtk-3.0.gir copy .\Release\$(Platform)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\Gdk-3.0.typelib copy .\Release\$(Platform)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Release\$(Platform)\bin\GdkWin32-3.0.typelib copy .\Release\$(Platform)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Release\$(Platform)\bin\Gtk-3.0.typelib copy .\Release\$(Platform)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0
goto DONE_BIN
:DO_BROADWAY_DEBUG
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
copy .\Debug\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
copy .\Debug\$(Platform)\bin\gtk3-demo.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo-application.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo-application.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-icon-browser.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
if exist .\Debug\$(Platform)\bin\Gdk-3.0.gir copy .\Debug\$(Platform)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\GdkWin32-3.0.gir copy .\Debug\$(Platform)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\Gtk-3.0.gir copy .\Debug\$(Platform)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\Gdk-3.0.typelib copy .\Debug\$(Platform)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Debug\$(Platform)\bin\GdkWin32-3.0.typelib copy .\Debug\$(Platform)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Debug\$(Platform)\bin\Gtk-3.0.typelib copy .\Debug\$(Platform)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0
:DONE_BIN
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig\gdk-win32-3.0.pc
copy "..\gtk+-3.0.pc" $(CopyDir)\lib\pkgconfig
copy "..\gtk+-3.0.pc" "$(CopyDir)\lib\pkgconfig\gtk+-3.0.pc"
copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig
</GtkDoInstallBin>
<GtkDoInstall>
echo off
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
#include "gdk-3.vs10.headers"
#include "gdk3-win32.vs10.headers"
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
#include "gtk-3.vs10.headers"
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util
#include "gailutil-3.vs10.headers"
for &#37;&#37;s in (16 22 24 32 48 256) do ((mkdir $(CopyDir)\share\icons\hicolor\&#37;&#37;sx&#37;&#37;s\apps) &amp; (copy /b ..\..\..\demos\gtk-demo\data\&#37;&#37;sx&#37;&#37;s\gtk3-demo.png $(CopyDir)\share\icons\hicolor\&#37;&#37;sx&#37;&#37;s\apps))
mkdir $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.EmojiChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas
</GtkDoInstall>
<GtkDoInstallBroadwayHeaders>
copy ..\..\..\gdk\broadway\gdkbroadway.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway
#include "gdk3-broadway.vs10.headers"
</GtkDoInstallBroadwayHeaders>
<GtkPostInstall>
echo "Compiling gsettings XML Files..."
$(GlibEtcInstallRoot)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas
echo "Generating icon cache......"
$(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force "$(CopyDir)\share\icons\hicolor"
</GtkPostInstall>
<GenerateGtkPC>$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)</GenerateGtkPC>
<GenerateGtkPCX64>$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
<GtkPCFiles>..\gdk-3.0.pc;..\gtk+-3.0.pc;..\gail-3.0.pc</GtkPCFiles>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3installsprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemGroup>
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
<BuildMacro Include="InstalledDlls">
<Value>$(InstalledDlls)</Value>
</BuildMacro>
<BuildMacro Include="InstalledBins">
<Value>$(InstalledBins)</Value>
</BuildMacro>
<BuildMacro Include="InstalledBroadwayBins">
<Value>$(InstalledBroadwayBins)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstallBin">
<Value>$(GtkDoInstallBin)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstall">
<Value>$(GtkDoInstall)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstallBroadwayHeaders">
<Value>$(GtkDoInstallBroadwayHeaders)</Value>
</BuildMacro>
<BuildMacro Include="GtkPostInstall">
<Value>$(GtkPostInstall)</Value>
</BuildMacro>
<BuildMacro Include="GenerateGtkPC">
<Value>$(GenerateGtkPC)</Value>
</BuildMacro>
<BuildMacro Include="GenerateGtkPCX64">
<Value>$(GenerateGtkPCX64)</Value>
</BuildMacro>
<BuildMacro Include="GtkPCFiles">
<Value>$(GtkPCFiles)</Value>
</BuildMacro>
</ItemGroup>
</Project>

View File

@@ -1,268 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|Win32">
<Configuration>Debug_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|x64">
<Configuration>Debug_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|Win32">
<Configuration>Release_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|x64">
<Configuration>Release_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{23BBF35F-78AF-4E8C-983F-7B90448CD7DF}</ProjectGuid>
<RootNamespace>gtkinstall</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-install.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">blah;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Installing Build Results...</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GtkPCFiles)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)$(GtkPostInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">blah;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\gtkpc.py">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateGtkPC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GenerateGtkPC) --broadway</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateGtkPCX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GenerateGtkPCX64) --broadway</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateGtkPC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GenerateGtkPC) --broadway</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkPCX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkPCFiles);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Generating .pc files...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GenerateGtkPCX64) --broadway</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GtkPCFiles);%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk3-demo.vcxproj">
<Project>{bdae6de2-6bcc-4107-94f0-da12214a02de}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gailutil-3.vcxproj">
<Project>{a1fced61-4e51-4015-a70c-5373404d1ba0}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk3-demo-application.vcxproj">
<Project>{be6b4973-c6ff-4c8f-8e97-a47793c50f44}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk3-icon-browser.vcxproj">
<Project>{343333c4-d46c-4c97-a986-959cca6f1de0}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="broadwayd.vcxproj">
<Project>{e9687d21-e214-4a0c-9eb4-8b38ebb783e5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-encode-symbolic-svg.vcxproj">
<Project>{f280bf1a-777a-4fb5-8005-dfbe04621edb}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-update-icon-cache.vcxproj">
<Project>{fc98af16-4c68-42df-906b-93a6804c198a}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-builder-tool.vcxproj">
<Project>{7d2397cf-4c25-45bc-a1bb-cb4b6e154bbd}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-query-settings.vcxproj">
<Project>{9f22107a-3ef7-4b52-b269-747b65307f36}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\config.h.win32"><Filter>Resource Files</Filter></CustomBuild>
<CustomBuild Include="..\gtkpc.py"><Filter>Resource Files</Filter></CustomBuild>
</ItemGroup>
</Project>

View File

@@ -1,107 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>
<RootNamespace>gtk3introspect</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,142 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|Win32">
<Configuration>Debug_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_Broadway|x64">
<Configuration>Debug_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|Win32">
<Configuration>Release_Broadway</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release_Broadway|x64">
<Configuration>Release_Broadway</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B98FBE68-B03C-48E3-8F32-C3C010720D30}</ProjectGuid>
<RootNamespace>gtkprebuild</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-gen-srcs.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<NMakeBuildCommandLine Condition="'$(Configuration)' == 'Debug_Broadway'">$(GenerateRequiredSourcesBase) CFG=Debug BROADWAY=1 $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeBuildCommandLine Condition="'$(Configuration)' == 'Release_Broadway'">$(GenerateRequiredSourcesBase) CFG=Release BROADWAY=1 $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeBuildCommandLine Condition="'$(Configuration)' == 'Debug'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeBuildCommandLine Condition="'$(Configuration)' == 'Release'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)' == 'Debug_Broadway'">$(GenerateRequiredSourcesBase) CFG=Debug BROADWAY=1 $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)' == 'Release_Broadway'">$(GenerateRequiredSourcesBase) CFG=Release BROADWAY=1 $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)' == 'Debug'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)' == 'Release'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)' == 'Debug_Broadway'">$(GenerateRequiredSourcesBase) CFG=Debug BROADWAY=1 $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)' == 'Release_Broadway'">$(GenerateRequiredSourcesBase) CFG=Release BROADWAY=1 $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)' == 'Debug'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)' == 'Release'">$(GenerateRequiredSourcesBase) CFG=$(Configuration) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
</PropertyGroup>
<ItemGroup>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,191 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk-3"
ProjectGUID="{95A4B53D-2773-4406-A2C1-8FD2840BBAD8}"
RootNamespace="gtk3"
Keyword="Win32Proj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk3-gen-srcs.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(GtkAdditionalLibs)"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName).0.lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk3-gen-srcs.vsprops"
ConfigurationType="2"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(GtkAdditionalLibs)"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName).0.lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk3-gen-srcs.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(GtkAdditionalLibs)"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName).0.lib"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk3-gen-srcs.vsprops"
ConfigurationType="2"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(GtkAdditionalLibs)"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName).0.lib"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File RelativePath="..\..\..\gtk\gtk-win32.rc" />
<File RelativePath="..\..\..\gtk\libgtk3.manifest" />
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "gtk-3.sourcefiles"
<File RelativePath="..\..\..\modules\input\gtkimcontextime.c" />
<File RelativePath="..\..\..\modules\input\gtkimcontextmultipress.c" />
<File RelativePath="..\..\..\modules\input\gtkimcontextthai.c" />
<File RelativePath="..\..\..\modules\input\imam-et.c" />
<File RelativePath="..\..\..\modules\input\imcedilla.c" />
<File RelativePath="..\..\..\modules\input\imcyrillic-translit.c" />
<File RelativePath="..\..\..\modules\input\imime.c" />
<File RelativePath="..\..\..\modules\input\iminuktitut.c" />
<File RelativePath="..\..\..\modules\input\imipa.c" />
<File RelativePath="..\..\..\modules\input\immultipress.c" />
<File RelativePath="..\..\..\modules\input\imthai.c" />
<File RelativePath="..\..\..\modules\input\imti-er.c" />
<File RelativePath="..\..\..\modules\input\imti-et.c" />
<File RelativePath="..\..\..\modules\input\imviqr.c" />
<File RelativePath="..\..\..\modules\input\thai-charprop.c" />
</Filter>
</Files>
</VisualStudioProject>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="gtk3gensrcsprops"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<UserMacro
Name="GenerateRequiredSourcesBase"
Value="cd ..&#x0D;&#x0A;set VCInstallDir=$(VCInstallDir)&#x0D;&#x0A;nmake -f generate-msvc.mak PREFIX=$(GlibEtcInstallRoot)"
/>
<UserMacro
Name="GeneratedGdkSources"
Value="..\..\..\config.h;..\..\..\gdk\gdkconfig.h;..\..\gdk\gdkversionmacros.h;..\..\..\gdk\gdkmarshalers.h;..\..\..\gdk\gdkmarshalers.c;..\..\..\gdk\gdkresources.h;..\..\..\gdk\gdkresources.c"
/>
<UserMacro
Name="GeneratedGtkSources"
Value="..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;..\..\..\gtk\gtkdbusgenerated.h;..\..\..\gtk\gtkdbusgenerated.c"
/>
<UserMacro
Name="GeneratedDemoSources"
Value="..\..\..\demos\gtk-demo\demos.h"
/>
</VisualStudioPropertySheet>

View File

@@ -1,186 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="gtkinstallprops"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<UserMacro
Name="GtkDoInstallBin"
Value="
mkdir $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
mkdir $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
mkdir $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gdk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; goto DO_BROADWAY_BIN&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; goto DO_BROADWAY_BIN&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-demo.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-demo.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-demo-application.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-demo-application.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-icon-browser.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
goto DONE_BIN&#x0D;&#x0A;
:DO_BROADWAY_BIN&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\broadwayd.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\broadwayd.pdb $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; goto DO_BROADWAY_RELEASE&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; goto DO_BROADWAY_DEBUG&#x0D;&#x0A;
:DO_BROADWAY_RELEASE&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-demo.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-demo.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-demo-application.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-demo-application.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-icon-browser.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gdk-3.0.gir copy .\Release\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\GdkWin32-3.0.gir copy .\Release\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gtk-3.0.gir copy .\Release\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gdk-3.0.typelib copy .\Release\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\GdkWin32-3.0.typelib copy .\Release\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gtk-3.0.typelib copy .\Release\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
goto DONE_BIN&#x0D;&#x0A;
:DO_BROADWAY_DEBUG&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-demo.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-demo.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-demo-application.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-demo-application.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-icon-browser.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gdk-3.0.gir copy .\Debug\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\GdkWin32-3.0.gir copy .\Debug\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gtk-3.0.gir copy .\Debug\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gdk-3.0.typelib copy .\Debug\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\GdkWin32-3.0.typelib copy .\Debug\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gtk-3.0.typelib copy .\Debug\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
:DONE_BIN&#x0D;&#x0A;
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig\gdk-win32-3.0.pc&#x0D;&#x0A;
copy &quot;..\gtk+-3.0.pc&quot; $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
copy &quot;..\gtk+-3.0.pc&quot; &quot;$(CopyDir)\lib\pkgconfig\gtk+-win32-3.0.pc&quot;&#x0D;&#x0A;
copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkDoInstall"
Value="
echo off&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
#include "gdk-3.headers"
#include "gdk3-win32.headers"
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
#include "gtk-3.headers"
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;
#include "gailutil-3.headers"
mkdir $(CopyDir)\share\icons\hicolor\16x16\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\16x16\gtk3-demo.png $(CopyDir)\share\icons\hicolor\16x16\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\22x22\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\22x22\gtk3-demo.png $(CopyDir)\share\icons\hicolor\22x22\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\24x24\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\24x24\gtk3-demo.png $(CopyDir)\share\icons\hicolor\24x24\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\32x32\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\32x32\gtk3-demo.png $(CopyDir)\share\icons\hicolor\32x32\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\48x48\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\48x48\gtk3-demo.png $(CopyDir)\share\icons\hicolor\48x48\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\256x256\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\256x256\gtk3-demo.png $(CopyDir)\share\icons\hicolor\256x256\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.EmojiChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkPostInstall"
Value="
echo &quot;Compiling gsettings XML Files...&quot;&#x0D;&#x0A;
$(GlibEtcInstallRoot)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
echo &quot;Generating icon cache...&quot;&#x0D;&#x0A;
$(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force &quot;$(CopyDir)\share\icons\hicolor&quot;
"
/>
<UserMacro
Name="GtkDoInstallBroadwayHeaders"
Value="
copy ..\..\..\gdk\broadway\gdkbroadway.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway&#x0D;&#x0A;
#include "gdk3-broadway.headers"
"
/>
<UserMacro
Name="GenerateGtkPC"
Value="$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)"
/>
<UserMacro
Name="GenerateGtkPCX64"
Value="$(PythonDirX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)"
/>
</VisualStudioPropertySheet>

200
check-version.py Executable file
View File

@@ -0,0 +1,200 @@
#!/usr/bin/env python3
import re
import sys
try:
configure_ac = sys.argv[1]
except Exception:
configure_ac = 'configure.ac'
try:
meson_build = sys.argv[2]
except Exception:
meson_build = 'meson.build'
CONFIGURE_MAJOR_VERSION_RE = re.compile(
r'''
^
\s*
m4_define\(
\s*
\[gtk_major_version\]
\s*
,
\s*
\[
(?P<version>[0-9]+)
\]
\s*
\)
$
''',
re.UNICODE | re.VERBOSE
)
CONFIGURE_MINOR_VERSION_RE = re.compile(
r'''
^
\s*
m4_define\(
\s*
\[gtk_minor_version\]
\s*
,
\s*
\[
(?P<version>[0-9]+)
\]
\s*
\)
$
''',
re.UNICODE | re.VERBOSE
)
CONFIGURE_MICRO_VERSION_RE = re.compile(
r'''
^
\s*
m4_define\(
\s*
\[gtk_micro_version\]
\s*
,
\s*
\[
(?P<version>[0-9]+)
\]
\s*
\)
$
''',
re.UNICODE | re.VERBOSE
)
CONFIGURE_INTERFACE_AGE_RE = re.compile(
r'''
^
\s*
m4_define\(
\s*
\[gtk_interface_age\]
\s*
,
\s*
\[
(?P<age>[0-9]+)
\]
\s*
\)
$
''',
re.UNICODE | re.VERBOSE
)
MESON_VERSION_RE = re.compile(
r'''
^
\s*
version
\s*
:{1}
\s*
\'{1}
(?P<major>[0-9]+)
\.{1}
(?P<minor>[0-9]+)
\.{1}
(?P<micro>[0-9]+)
\'{1}
\s*
,?
$
''',
re.UNICODE | re.VERBOSE
)
MESON_INTERFACE_AGE_RE = re.compile(
r'''
^\s*gtk_interface_age\s*={1}\s*(?P<age>[0-9]+)\s*$
''',
re.UNICODE | re.VERBOSE
)
version = {}
with open(configure_ac, 'r') as f:
line = f.readline()
while line:
res = CONFIGURE_MAJOR_VERSION_RE.match(line)
if res:
if 'major' in version:
print(f'Redefinition of major version; version is already set to {version["major"]}')
sys.exit(1)
version['major'] = res.group('version')
line = f.readline()
continue
res = CONFIGURE_MINOR_VERSION_RE.match(line)
if res:
if 'minor' in version:
print(f'Redefinition of minor version; version is already set to {version["minor"]}')
sys.exit(1)
version['minor'] = res.group('version')
line = f.readline()
continue
res = CONFIGURE_MICRO_VERSION_RE.match(line)
if res:
if 'micro' in version:
print(f'Redefinition of micro version; version is already set to {version["micro"]}')
sys.exit(1)
version['micro'] = res.group('version')
line = f.readline()
continue
res = CONFIGURE_INTERFACE_AGE_RE.match(line)
if res:
if 'age' in version:
print(f'Redefinition of interface age; age is already set to {version["age"]}')
sys.exit(1)
version['age'] = res.group('age')
line = f.readline()
continue
if ('major', 'minor', 'micro', 'age') in version:
break
line = f.readline()
print(f'GTK version defined in {configure_ac}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})')
configure_version = version
version = {}
with open(meson_build, 'r') as f:
line = f.readline()
inside_project = False
while line:
if line.startswith('project('):
inside_project = True
if inside_project:
res = MESON_VERSION_RE.match(line)
if res:
version['major'] = res.group('major')
version['minor'] = res.group('minor')
version['micro'] = res.group('micro')
if inside_project and line.endswith(')'):
inside_project = False
res = MESON_INTERFACE_AGE_RE.match(line)
if res:
version['age'] = res.group('age')
if ('major', 'minor', 'micro', 'age') in version:
break
line = f.readline()
print(f'GTK version defined in {meson_build}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})')
meson_version = version
if configure_version != meson_version:
print('Version mismatch between Autotools and Meson builds')
sys.exit(1)
sys.exit(0)

View File

@@ -44,6 +44,9 @@
/* Define to 1 if you have the `flockfile' function. */
#mesondefine HAVE_FLOCKFILE
/* Define to 1 if you have the `fmin' function. */
#mesondefine HAVE_FMIN
/* Define to 1 if you have the <ftw.h> header file. */
#mesondefine HAVE_FTW_H
@@ -241,6 +244,9 @@
/* Define to 1 if XInput 2.2 is available */
#mesondefine XINPUT_2_2
/* Define to 1 if XInput 2.4 is available */
#mesondefine XINPUT_2_4
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -281,3 +287,6 @@
#mesondefine GTK_LOCALEDIR
#mesondefine ISO_CODES_PREFIX
/* Define if tracker3 is available */
#mesondefine HAVE_TRACKER3

View File

@@ -52,6 +52,11 @@
/* Define to 1 if you have the `flockfile' function. */
#undef HAVE_FLOCKFILE
/* Define to 1 if you have the `fmin' function. */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
# define HAVE_FMIN 1
#endif
/* Define to 1 if you have the <ftw.h> header file. */
/* #undef HAVE_FTW_H */
@@ -139,6 +144,11 @@
#define HAVE_ROUND 1
#endif
/* Define to 1 if SetupDiGetDevicePropertyW() is available */
#ifdef _MSC_VER
#define HAVE_SETUP_DI_GET_DEVICE_PROPERTY_W 1
#endif
/* Define to 1 if sincos() is available */
/* #undef HAVE_SINCOS */
@@ -290,6 +300,9 @@
/* Define to 1 if XInput 2.2 is available */
/* #undef XINPUT_2_2 */
/* Define to 1 if XInput 2.4 is available */
/* #undef XINPUT_2_4 */
/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */

View File

@@ -10,8 +10,8 @@
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [24])
m4_define([gtk_micro_version], [13])
m4_define([gtk_interface_age], [9])
m4_define([gtk_micro_version], [34])
m4_define([gtk_interface_age], [30])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_version],
@@ -56,12 +56,12 @@ GLIB_VERSION_CFLAGS="-DGLIB_MIN_REQUIRED_VERSION=glib_min_required_version -DGLI
m4_define([pango_required_version], [1.41.0])
m4_define([fribidi_required_version], [0.19.7])
m4_define([atk_required_version], [2.15.1])
m4_define([atk_required_version], [2.32.0])
m4_define([cairo_required_version], [1.14.0])
m4_define([gdk_pixbuf_required_version], [2.30.0])
m4_define([introspection_required_version], [1.39.0])
m4_define([wayland_required_version], [1.9.91])
m4_define([wayland_protocols_required_version], [1.14])
m4_define([wayland_required_version], [1.14.91])
m4_define([wayland_protocols_required_version], [1.17])
m4_define([epoxy_required_version], [1.4])
m4_define([cloudproviders_required_version], [0.2.5])
m4_define([sysprof_required_version], [3.33.2])
@@ -395,7 +395,7 @@ if test "$enable_win32_backend" = "yes"; then
backend_immodules="$backend_immodules,ime"
GDK_WINDOWING="$GDK_WINDOWING
#define GDK_WINDOWING_WIN32"
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32"
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lwinspool -lcomctl32 -lcomdlg32"
AM_CONDITIONAL(USE_WIN32, true)
PANGO_PACKAGES="pangowin32 pangocairo"
else
@@ -439,7 +439,8 @@ fi
PKG_PROG_PKG_CONFIG
WAYLAND_DEPENDENCIES="wayland-client >= wayland_required_version wayland-protocols >= wayland_protocols_required_version xkbcommon >= 0.2.0 wayland-cursor >= wayland_required_version wayland-egl"
WAYLAND_RUNTIME_DEPENDENCIES="wayland-client >= wayland_required_version xkbcommon >= 0.2.0 wayland-cursor >= wayland_required_version wayland-egl"
WAYLAND_DEPENDENCIES="wayland-protocols >= wayland_protocols_required_version $WAYLAND_RUNTIME_DEPENDENCIES"
if test "$enable_wayland_backend" = "maybe" ; then
AC_PATH_PROG([WAYLAND_SCANNER],[wayland-scanner],[no])
PKG_CHECK_EXISTS($WAYLAND_DEPENDENCIES, [have_wayland_deps=yes], [have_wayland_deps=no])
@@ -460,7 +461,7 @@ if test "$enable_wayland_backend" = "yes"; then
GDK_WINDOWING="$GDK_WINDOWING
#define GDK_WINDOWING_WAYLAND"
backend_immodules="$backend_immodules,wayland"
WAYLAND_PACKAGES="$WAYLAND_DEPENDENCIES"
WAYLAND_PACKAGES="$WAYLAND_RUNTIME_DEPENDENCIES"
AC_PATH_PROG([WAYLAND_SCANNER],[wayland-scanner],[no])
AS_IF([test "x$WAYLAND_SCANNER" = "xno"],
[AC_MSG_ERROR([Could not find wayland-scanner in your PATH, required for parsing wayland extension protocols])])
@@ -843,7 +844,7 @@ AC_TYPE_UID_T
# Check for round(), rint(), isnan() and isinf()
# Check for log2(), exp2(), nearbyint() and trunc()
AC_CHECK_LIB(m,round,,)
AC_CHECK_FUNCS(round rint nearbyint sincos exp2 log2 trunc)
AC_CHECK_FUNCS(round rint nearbyint sincos exp2 log2 trunc fmin)
AC_CHECK_DECLS([isnan, isinf], [], [], [[#include <math.h>]])
AC_MSG_CHECKING(whether to build dynamic modules)
@@ -1166,13 +1167,23 @@ if test "x$enable_x11_backend" = xyes; then
AC_DEFINE(XINPUT_2_2, 1, [Define to 1 if XInput 2.2 is available]),
have_xinput2_2=no,
[[#include <X11/extensions/XInput2.h>]])])
LIBS="$gtk_save_LIBS"
if test "x$have_xinput2_2" = "xyes"; then
X_EXTENSIONS="$X_EXTENSIONS XI2.2"
else
X_EXTENSIONS="$X_EXTENSIONS XI2"
fi
AC_CHECK_MEMBER([XIGesturePinchEvent.type],
have_xinput2_4=yes
AC_DEFINE(XINPUT_2_4, 1, [Define to 1 if XInput 2.4 is available]),
have_xinput2_4=no,
[[#include <X11/extensions/XInput2.h>]])
if test "x$have_xinput2_4" = "xyes"; then
X_EXTENSIONS="$X_EXTENSIONS XI2.4"
fi
LIBS="$gtk_save_LIBS"
fi
AS_IF([test "x$have_xinput2" != "xyes"],
@@ -1394,17 +1405,35 @@ fi
##################################################
# Check for harfbuzz and pangoft2
##################################################
PKG_CHECK_MODULES(GTK_FONT_CHOOSER_WIDGET,
harfbuzz >= 0.9 pangoft2,
harfbuzz >= 2.2.0 pango >= 1.44.0,
build_font_demo=yes,
build_font_demo=no)
PKG_CHECK_MODULES(GTK_FONT_CHOOSER_WIDGET_FT,
harfbuzz >= 0.9 pangoft2,
build_font_demo_ft=yes,
build_font_demo_ft=no)
if test "x$build_font_demo" = xno; then
if test "x$build_font_demo_ft" = xyes; then
build_font_demo=yes
else
build_font_demo=no
fi
fi
AM_CONDITIONAL(BUILD_FONT_DEMO, [ test "x$build_font_demo" = xyes ])
if test "x$build_font_demo" = xyes; then
AC_DEFINE([HAVE_HARFBUZZ], 1, [defines whether we have HarfBuzz])
AC_DEFINE([HAVE_PANGOFT], 1, [defines whether we have pangoft2])
GTK_DEP_CFLAGS="$GTK_DEP_CFLAGS $GTK_FONT_CHOOSER_WIDGET_CFLAGS"
GTK_DEP_LIBS="$GTK_DEP_LIBS $GTK_FONT_CHOOSER_WIDGET_LIBS"
if test "x$build_font_demo_ft" = xyes; then
AC_DEFINE([HAVE_PANGOFT], 1, [defines whether we have pangoft2])
GTK_DEP_CFLAGS="$GTK_DEP_CFLAGS $GTK_FONT_CHOOSER_WIDGET_FT_CFLAGS"
GTK_DEP_LIBS="$GTK_DEP_LIBS $GTK_FONT_CHOOSER_WIDGET_FT_LIBS"
else
GTK_DEP_CFLAGS="$GTK_DEP_CFLAGS $GTK_FONT_CHOOSER_WIDGET_CFLAGS"
GTK_DEP_LIBS="$GTK_DEP_LIBS $GTK_FONT_CHOOSER_WIDGET_LIBS"
fi
fi
if $PKG_CONFIG --exists x11; then
@@ -1552,37 +1581,29 @@ else
fi
fi
# Checks to see if we should compile with cloudprint backend for GTK+
# Checks to see if we should compile with tracker3 search engine
#
AC_ARG_ENABLE(cloudprint,
[AS_HELP_STRING([--disable-cloudprint],
[disable cloudprint print backend])],,
[enable_cloudprint=auto])
AC_ARG_ENABLE(tracker3,
[AS_HELP_STRING([--enable-tracker3],
[enable tracker3 search engine])],
[enable_tracker3=yes],
[enable_tracker3=no])
if test "x$enable_cloudprint" = "xno"; then
AM_CONDITIONAL(HAVE_CLOUDPRINT, false)
else
PKG_CHECK_MODULES(REST, [rest-0.7], have_rest=yes, have_rest=no)
PKG_CHECK_MODULES(JSON_GLIB, [json-glib-1.0], have_json_glib=yes, have_json_glib=no)
if test "x$have_rest" = "xyes" -a "x$have_json_glib" = "xyes"; then
PRINT_BACKENDS="$PRINT_BACKENDS cloudprint"
have_cloudprint=yes
if test "x$enable_tracker3" = "xyes"; then
PKG_CHECK_MODULES(TRACKER3, [tracker-sparql-3.0], have_tracker3=yes, have_tracker3=no)
GTK_DEP_CFLAGS="$GTK_DEP_CFLAGS $TRACKER3_CFLAGS"
GTK_DEP_LIBS="$GTK_DEP_LIBS $TRACKER3_LIBS"
if test "x$have_tracker3" = "xyes"; then
AC_DEFINE([HAVE_TRACKER3], [], [Define if tracker3 is available])
else
AC_MSG_ERROR([
*** tracker3 not found.
])
fi
AM_CONDITIONAL(HAVE_CLOUDPRINT, test "x$have_cloudprint" = "xyes")
fi
if test "x$enable_cloudprint" = "xyes" -a "x$have_rest" = "xno"; then
AC_MSG_ERROR([
*** rest not found.
])
fi
if test "x$enable_cloudprint" = "xyes" -a "x$have_json_glib" = "xno"; then
AC_MSG_ERROR([
*** json-glib not found.
])
fi
AM_CONDITIONAL(HAVE_TRACKER3, test "x$have_tracker3" = "xyes")
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
@@ -1626,9 +1647,6 @@ fi
if test "$have_papi" != "yes" -a "$have_cups" != "yes"; then
GTK_PRINT_BACKENDS="$GTK_PRINT_BACKENDS,lpr"
fi
if test "$have_cloudprint" = "yes"; then
GTK_PRINT_BACKENDS="$GTK_PRINT_BACKENDS,cloudprint"
fi
AC_SUBST(GTK_PRINT_BACKENDS)
################################################################
@@ -1940,18 +1958,19 @@ docs/reference/gtk/getting_started.xml
docs/reference/libgail-util/Makefile
docs/reference/libgail-util/version.xml
docs/tools/Makefile
build/Makefile
build/win32/Makefile
build/win32/config-msvc.mak
build/win32/vs9/Makefile
build/win32/vs9/gtk3-version-paths.vsprops
build/win32/vs10/Makefile
build/win32/vs10/gtk3-version-paths.props
build/win32/vs11/Makefile
build/win32/vs12/Makefile
build/win32/vs14/Makefile
build/win32/vs15/Makefile
build/win32/vs16/Makefile
win32/Makefile
win32/config-msvc.mak
win32/vs9/Makefile
win32/vs9/gtk3-version-paths.vsprops
win32/vs10/Makefile
win32/vs11/Makefile
win32/vs12/Makefile
win32/vs14/Makefile
win32/vs15/Makefile
win32/vs16/Makefile
win32/vs17/Makefile
win32/vs1x-props/Makefile
win32/vs1x-props/gtk3-version-paths.props
gdk/Makefile
gdk/broadway/Makefile
gdk/x11/Makefile
@@ -1971,7 +1990,6 @@ modules/Makefile
modules/input/Makefile
modules/printbackends/Makefile
modules/printbackends/cups/Makefile
modules/printbackends/cloudprint/Makefile
modules/printbackends/lpr/Makefile
modules/printbackends/file/Makefile
modules/printbackends/papi/Makefile

View File

@@ -1,87 +1,15 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos_base = \
application_demo.c \
assistant.c \
builder.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
css_accordion.c \
css_basics.c \
css_blendmodes.c \
css_multiplebgs.c \
css_pixbufs.c \
css_shadows.c \
cursors.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_buffer.c \
entry_completion.c \
event_axes.c \
expander.c \
filtermodel.c \
fishbowl.c \
foreigndrawing.c \
gestures.c \
glarea.c \
headerbar.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
infobar.c \
links.c \
listbox.c \
flowbox.c \
list_store.c \
markup.c \
menus.c \
modelbutton.c \
offscreen_window.c \
offscreen_window2.c \
overlay.c \
overlay2.c \
paint.c \
panes.c \
pickers.c \
pixbufs.c \
popover.c \
printing.c \
revealer.c \
rotated_text.c \
scale.c \
search_entry.c \
search_entry2.c \
shortcuts.c \
sidebar.c \
sizegroup.c \
spinbutton.c \
spinner.c \
stack.c \
tabs.c \
textmask.c \
textview.c \
textscroll.c \
theming_style_classes.c \
toolpalette.c \
transparent.c \
tree_store.c
include $(srcdir)/demos-sources.mak
demos_opt =
if BUILD_FONT_DEMO
demos_opt += font_features.c
demos_opt += $(font_features_demo)
endif
if OS_UNIX
demos_opt += pagesetup.c
demos_opt += $(page_setup_demo)
endif
demos = $(demos_base) $(demos_opt)
@@ -116,6 +44,7 @@ EXTRA_DIST += \
data/symbolic-source.svg \
demo.gresource.xml \
$(resource_files) \
makefile.msc.in \
org.gtk.Demo.gschema.xml \
demos.h.win32 \
meson.build \
@@ -132,22 +61,21 @@ demos.h: $(demos) geninclude.pl
demos.h.win32: $(demos_base) geninclude.pl
$(AM_V_GEN) (here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos_base)) > demos.h.win32
nodist_gtk3_demo_SOURCES = demos.h
nodist_gtk3_demo_SOURCES = demos.h demo_resources.c
gtk3_demo_SOURCES = \
$(demos) \
gtkfishbowl.c \
gtkfishbowl.h \
demo_resources.c \
main.c
gtk3_demo_DEPENDENCIES = $(DEPS)
gtk3_demo_LDADD = $(LDADDS)
gtk3_demo_LDFLAGS = -export-dynamic
gtk3_demo_application_SOURCES = \
application.c \
demo_resources.c
nodist_gtk3_demo_application_SOURCES = demo_resources.c
gtk3_demo_application_SOURCES = application.c
gtk3_demo_application_LDADD = $(LDADDS)
@@ -187,20 +115,16 @@ uninstall-update-icon-cache:
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gtk3-demo gtk3-demo-application
MSVCPROJS = gtk3-demo
gtk3_demo_FILES = $(gtk3_demo_SOURCES)
gtk3_demo_EXCLUDES = font_features.c|pagesetup.c
gtk3_demo_application_FILES = $(gtk3_demo_application_SOURCES)
gtk3_demo_application_EXCLUDES = dummy
include $(top_srcdir)/build/Makefile.msvcproj
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: \
$(top_builddir)/build/win32/vs9/gtk3-demo.vcproj \
$(top_builddir)/build/win32/vs9/gtk3-demo-application.vcproj
$(top_builddir)/win32/vs9/gtk3-demo.vcproj
DISTCLEANFILES = demos.h demos.h.win32
DISTCLEANFILES = demos.h demos.h.win32 demo_resources.c
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,75 @@
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos_base = \
application_demo.c \
assistant.c \
builder.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
css_accordion.c \
css_basics.c \
css_blendmodes.c \
css_multiplebgs.c \
css_pixbufs.c \
css_shadows.c \
cursors.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_buffer.c \
entry_completion.c \
event_axes.c \
expander.c \
filtermodel.c \
fishbowl.c \
foreigndrawing.c \
gestures.c \
glarea.c \
headerbar.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
infobar.c \
links.c \
listbox.c \
flowbox.c \
list_store.c \
markup.c \
menus.c \
modelbutton.c \
offscreen_window.c \
offscreen_window2.c \
overlay.c \
overlay2.c \
paint.c \
panes.c \
pickers.c \
pixbufs.c \
popover.c \
printing.c \
revealer.c \
rotated_text.c \
scale.c \
search_entry.c \
search_entry2.c \
shortcuts.c \
sidebar.c \
sizegroup.c \
spinbutton.c \
spinner.c \
stack.c \
tabs.c \
textmask.c \
textview.c \
textscroll.c \
theming_style_classes.c \
toolpalette.c \
transparent.c \
tree_store.c
font_features_demo = font_features.c
page_setup_demo = pagesetup.c

View File

@@ -9,10 +9,23 @@
*/
#include <gtk/gtk.h>
#if PANGO_VERSION_CHECK(1,44,0)
# if !HB_VERSION_ATLEAST(2,2,0)
# define FONT_FEATURES_USE_PANGOFT2 1
# endif
#else
# define FONT_FEATURES_USE_PANGOFT2 1
#endif
#ifdef FONT_FEATURES_USE_PANGOFT2
#include <pango/pangofc-font.h>
#include <hb.h>
#include <hb-ot.h>
#include <hb-ft.h>
#else
#include <hb-ot.h>
#endif
static GtkWidget *label;
static GtkWidget *settings;
@@ -205,19 +218,32 @@ static void
update_script_combo (void)
{
GtkListStore *store;
hb_font_t *hb_font;
hb_font_t *hb_font = NULL;
gint i, j, k, l;
FT_Face ft_face;
PangoFont *pango_font;
GHashTable *tags;
GHashTableIter iter;
TagPair *pair;
gboolean cleanup_hb_face = FALSE;
#ifdef FONT_FEATURES_USE_PANGOFT2
FT_Face ft_face;
#endif
store = gtk_list_store_new (4, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
pango_font = get_pango_font ();
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font)),
hb_font = hb_ft_font_create (ft_face, NULL);
#ifdef FONT_FEATURES_USE_PANGOFT2
if (PANGO_IS_FC_FONT (pango_font))
{
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font)),
hb_font = hb_ft_font_create (ft_face, NULL);
cleanup_hb_face = TRUE;
}
#else
hb_font = pango_font_get_hb_font (pango_font);
#endif
tags = g_hash_table_new_full (tag_pair_hash, tag_pair_equal, g_free, NULL);
@@ -264,10 +290,15 @@ update_script_combo (void)
}
}
hb_face_destroy (hb_face);
if (cleanup_hb_face)
hb_face_destroy (hb_face);
}
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
#ifdef FONT_FEATURES_USE_PANGOFT2
if (PANGO_IS_FC_FONT (pango_font))
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
#endif
g_object_unref (pango_font);
g_hash_table_iter_init (&iter, tags);
@@ -346,8 +377,12 @@ update_features (void)
GtkTreeIter iter;
guint script_index, lang_index;
PangoFont *pango_font;
hb_font_t *hb_font = NULL;
gboolean cleanup_hb_face = FALSE;
#ifdef FONT_FEATURES_USE_PANGOFT2
FT_Face ft_face;
hb_font_t *hb_font;
#endif
for (i = 0; i < num_features; i++)
gtk_widget_set_opacity (icon[i], 0);
@@ -364,8 +399,17 @@ update_features (void)
-1);
pango_font = get_pango_font ();
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font)),
hb_font = hb_ft_font_create (ft_face, NULL);
#ifdef FONT_FEATURES_USE_PANGOFT2
if (PANGO_IS_FC_FONT (pango_font))
{
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font)),
hb_font = hb_ft_font_create (ft_face, NULL);
cleanup_hb_face = TRUE;
}
#else
hb_font = pango_font_get_hb_font (pango_font);
#endif
if (hb_font)
{
@@ -397,10 +441,15 @@ update_features (void)
}
}
hb_face_destroy (hb_face);
if (cleanup_hb_face)
hb_face_destroy (hb_face);
}
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
#ifdef FONT_FEATURES_USE_PANGOFT2
if (PANGO_IS_FC_FONT (pango_font))
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
#endif
g_object_unref (pango_font);
}

View File

@@ -96,11 +96,12 @@ drawing_area_draw (GtkWidget *widget,
cairo_pattern_t *pat;
cairo_matrix_t matrix;
gdouble angle, scale;
gdouble x_center, y_center;
gtk_gesture_get_bounding_box_center (GTK_GESTURE (zoom), &x_center, &y_center);
cairo_get_matrix (cr, &matrix);
cairo_matrix_translate (&matrix,
allocation.width / 2,
allocation.height / 2);
cairo_matrix_translate (&matrix, x_center, y_center);
cairo_save (cr);
@@ -159,7 +160,7 @@ do_gestures (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (window), drawing_area);
gtk_widget_add_events (drawing_area,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_TOUCH_MASK);
GDK_POINTER_MOTION_MASK | GDK_TOUCH_MASK | GDK_TOUCHPAD_GESTURE_MASK);
g_signal_connect (drawing_area, "draw",
G_CALLBACK (drawing_area_draw), NULL);

View File

@@ -97,6 +97,7 @@ do_infobar (GtkWidget *do_widget)
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_xalign (GTK_LABEL (label), 0);
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
gtk_info_bar_set_default_response (GTK_INFO_BAR (bar), GTK_RESPONSE_OK);
button = gtk_toggle_button_new_with_label ("Question");
g_object_bind_property (button, "active", bar, "visible", G_BINDING_BIDIRECTIONAL);

View File

@@ -76,7 +76,13 @@ demos = files([
gtkdemo_deps = [libgtk_dep]
if harfbuzz_dep.found() and pangoft_dep.found()
if pango_dep.version().version_compare('>=1.44.0') and harfbuzz_dep.found() and cc.has_header_symbol(
'hb-ot.h',
'hb_ot_var_get_axis_count',
dependencies: harfbuzz_dep
)
demos += files('font_features.c')
elif harfbuzz_dep.found() and pangoft_dep.found()
demos += files('font_features.c')
gtkdemo_deps += [harfbuzz_dep, pangoft_dep]
endif

View File

@@ -16,16 +16,19 @@ bin_PROGRAMS = gtk3-icon-browser
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk3-icon-browser.desktop
nodist_gtk3_icon_browser_SOURCES = resources.c
gtk3_icon_browser_SOURCES = \
main.c \
iconbrowserapp.c iconbrowserapp.h \
iconbrowserwin.c iconbrowserwin.h \
iconstore.c iconstore.h \
resources.c
iconstore.c iconstore.h
BUILT_SOURCES = \
resources.c
DISTCLEANFILES = resources.c
resources.c: iconbrowser.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/iconbrowser.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/iconbrowser.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
@@ -37,14 +40,4 @@ EXTRA_DIST = \
icon.list \
meson.build
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gtk3-icon-browser
gtk3_icon_browser_FILES = $(gtk3_icon_browser_SOURCES)
gtk3_icon_browser_EXCLUDES = dummy
include $(top_srcdir)/build/Makefile.msvcproj
dist-hook: $(top_builddir)/build/win32/vs9/gtk3-icon-browser.vcproj
-include $(top_srcdir)/git.mk

View File

@@ -2,7 +2,6 @@
Name=Icon Browser
Comment=An application that shows themed icons
Exec=gtk3-icon-browser
Icon=gtk3-icon-browser
Terminal=false
Type=Application
StartupNotify=true

View File

@@ -5,9 +5,9 @@ bin_PROGRAMS = gtk3-widget-factory
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk3-widget-factory.desktop
gtk3_widget_factory_SOURCES = \
widget-factory.c \
widget_factory_resources.c
nodist_gtk3_widget_factory_SOURCES = widget_factory_resources.c
gtk3_widget_factory_SOURCES = widget-factory.c
BUILT_SOURCES = \
widget_factory_resources.c
@@ -69,4 +69,6 @@ EXTRA_DIST += \
data/symbolic-source.svg \
meson.build
DISTCLEANFILES = widget_factory_resources.c
-include $(top_srcdir)/git.mk

View File

@@ -1655,6 +1655,66 @@ adjustment3_value_changed (GtkAdjustment *adj, GtkProgressBar *pbar)
gtk_progress_bar_set_fraction (pbar, fraction);
}
static void
validate_more_details (GtkEntry *entry,
GParamSpec *pspec,
GtkEntry *details)
{
if (strlen (gtk_entry_get_text (entry)) > 0 &&
strlen (gtk_entry_get_text (details)) == 0)
{
gtk_widget_set_tooltip_text (GTK_WIDGET (entry), "Must have details first");
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (entry)), "error");
}
else
{
gtk_widget_set_tooltip_text (GTK_WIDGET (entry), "");
gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (entry)), "error");
}
}
static gboolean
mode_switch_state_set (GtkSwitch *sw, gboolean state)
{
GtkWidget *dialog = gtk_widget_get_ancestor (GTK_WIDGET (sw), GTK_TYPE_DIALOG);
GtkWidget *scale = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), "level_scale"));
GtkWidget *label = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), "error_label"));
if (!state ||
(gtk_range_get_value (GTK_RANGE (scale)) > 50))
{
gtk_widget_hide (label);
gtk_switch_set_state (sw, state);
}
else
{
gtk_widget_show (label);
}
return TRUE;
}
static void
level_scale_value_changed (GtkRange *range)
{
GtkWidget *dialog = gtk_widget_get_ancestor (GTK_WIDGET (range), GTK_TYPE_DIALOG);
GtkWidget *sw = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), "mode_switch"));
GtkWidget *label = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), "error_label"));
if (gtk_switch_get_active (GTK_SWITCH (sw)) &&
!gtk_switch_get_state (GTK_SWITCH (sw)) &&
(gtk_range_get_value (range) > 50))
{
gtk_widget_hide (label);
gtk_switch_set_state (GTK_SWITCH (sw), TRUE);
}
else if (gtk_switch_get_state (GTK_SWITCH (sw)) &&
(gtk_range_get_value (range) <= 50))
{
gtk_switch_set_state (GTK_SWITCH (sw), FALSE);
}
}
static void
activate (GApplication *app)
{
@@ -1722,6 +1782,9 @@ activate (GApplication *app)
gtk_builder_add_callback_symbol (builder, "reset_icon_size", (GCallback)reset_icon_size);
gtk_builder_add_callback_symbol (builder, "scale_format_value", (GCallback)scale_format_value);
gtk_builder_add_callback_symbol (builder, "scale_format_value_blank", (GCallback)scale_format_value_blank);
gtk_builder_add_callback_symbol (builder, "validate_more_details", (GCallback)validate_more_details);
gtk_builder_add_callback_symbol (builder, "mode_switch_state_set", (GCallback)mode_switch_state_set);
gtk_builder_add_callback_symbol (builder, "level_scale_value_changed", (GCallback)level_scale_value_changed);
gtk_builder_connect_signals (builder, NULL);
@@ -1820,6 +1883,13 @@ activate (GApplication *app)
widget = (GtkWidget *)gtk_builder_get_object (builder, "circular_button");
g_signal_connect (widget, "clicked", G_CALLBACK (show_dialog), dialog);
widget = (GtkWidget *)gtk_builder_get_object (builder, "level_scale");
g_object_set_data (G_OBJECT (dialog), "level_scale", widget);
widget = (GtkWidget *)gtk_builder_get_object (builder, "mode_switch");
g_object_set_data (G_OBJECT (dialog), "mode_switch", widget);
widget = (GtkWidget *)gtk_builder_get_object (builder, "error_label");
g_object_set_data (G_OBJECT (dialog), "error_label", widget);
dialog = (GtkWidget *)gtk_builder_get_object (builder, "selection_dialog");
g_object_set_data (G_OBJECT (window), "selection_dialog", dialog);
widget = (GtkWidget *)gtk_builder_get_object (builder, "text3");

View File

@@ -3989,6 +3989,7 @@ bad things might happen.</property>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
@@ -4012,10 +4013,12 @@ bad things might happen.</property>
<object class="GtkEntry" id="more_details_entry">
<property name="visible">1</property>
<property name="valign">baseline</property>
<signal name="notify::text" handler="validate_more_details" object="details_entry" swapped="no"/>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
@@ -4041,10 +4044,12 @@ bad things might happen.</property>
<property name="valign">baseline</property>
<property name="draw-value">0</property>
<property name="adjustment">adjustment1</property>
<signal name="value-changed" handler="level_scale_value_changed"/>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
@@ -4069,12 +4074,28 @@ bad things might happen.</property>
<property name="visible">1</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<signal name="state-set" handler="mode_switch_state_set"/>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="error_label">
<property name="visible">0</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<property name="label">Level too low</property>
<style>
<class name="error"/>
</style>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">3</property>
</packing>
</child>
</object>
</child>
</object>

View File

@@ -8,6 +8,7 @@ EXTRA_DIST += \
developers.txt \
dnd_internals.txt \
focus_tracking.txt \
iconcache.txt \
RELEASE-HOWTO \
sizing-test.txt \
styles.txt \

View File

@@ -1279,6 +1279,8 @@ GdkWaylandWindowExported
gdk_wayland_window_export_handle
gdk_wayland_window_unexport_handle
gdk_wayland_window_set_transient_for_exported
gdk_wayland_window_add_frame_callback_surface
gdk_wayland_window_remove_frame_callback_surface
<SUBSECTION Standard>
GDK_TYPE_WAYLAND_DEVICE

View File

@@ -385,6 +385,7 @@ HTML_IMAGES = \
$(srcdir)/images/pagesetupdialog.png \
$(srcdir)/images/placessidebar.png \
$(srcdir)/images/popup-anchors.png \
$(srcdir)/images/popup-at.svg \
$(srcdir)/images/popup-flip.png \
$(srcdir)/images/popup-slide.png \
$(srcdir)/images/printdialog.png \

View File

@@ -229,6 +229,15 @@ We use <literallayout> for syntax productions, and each line is put in a <code>
<entry></entry>
<entry></entry>
</row>
<row>
<entry><phrase role="nowrap">font-feature-settings</phrase></entry>
<entry><code>〈feature-tag-value〉&num; </code></entry>
<entry>""</entry>
<entry></entry>
<entry>></entry>
<entry><ulink url="https://www.w3.org/TR/css3-fonts/#font-feature-settings-prop">CSS3</ulink></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
<tgroup cols="5">

View File

@@ -503,14 +503,19 @@ if get_option('man') and xsltproc.found()
[ 'gtk-update-icon-cache', '1', ],
[ 'gtk-encode-symbolic-svg', '1', ],
[ 'gtk-launch', '1', ],
[ 'gtk3-demo', '1', ],
[ 'gtk3-demo-application', '1', ],
[ 'gtk3-widget-factory', '1', ],
[ 'gtk3-icon-browser', '1', ],
[ 'gtk-builder-tool', '1', ],
[ 'gtk-query-settings', '1', ],
]
if get_option('demos')
man_files += [
[ 'gtk3-demo', '1', ],
[ 'gtk3-demo-application', '1', ],
[ 'gtk3-widget-factory', '1', ],
[ 'gtk3-icon-browser', '1', ],
]
endif
if broadway_enabled
man_files += [[ 'broadwayd', '1', ]]
endif

View File

@@ -36,7 +36,7 @@ How do I get started with GTK+?
<answer><para>
The GTK+ <ulink url="https://www.gtk.org">website</ulink> offers some
<ulink url="https://www.gtk.org/documentation.php">tutorials</ulink> and other
<ulink url="https://www.gtk.org/docs/">tutorials</ulink> and other
documentation (most of it about GTK+ 2.x, but mostly still applicable).
More documentation ranging from whitepapers to online books can be found at
the <ulink url="https://developer.gnome.org">GNOME developer's site</ulink>.
@@ -77,7 +77,7 @@ specific widgets and functions.
<para>
If you have a question not covered in the manual, feel free to
ask on the mailing lists and please <ulink
url="https://bugzilla.gnome.org">file a bug report</ulink> against the
url="https://gitlab.gnome.org/GNOME/gtk/issues/new">file a bug report</ulink> against the
documentation.
</para>
@@ -105,8 +105,8 @@ state (explained in its documentation).
For strings returned from functions, they will be declared "const"
if they should not be freed. Non-const strings should be
freed with g_free(). Arrays follow the same rule. If you find an
undocumented exception to the rules, please report a bug to <ulink
url="https://bugzilla.gnome.org">https://bugzilla.gnome.org</ulink>.
undocumented exception to the rules, please report a bug on <ulink
url="https://gitlab.gnome.org/GNOME/gtk/issues/new">GitLab</ulink>.
</para>
</answer>
@@ -415,7 +415,7 @@ How do I use GTK+ with other non-C languages?
<answer>
<para>
See the <ulink url="https://www.gtk.org/language-bindings.php">list of language
See the <ulink url="https://www.gtk.org/docs/language-bindings/">list of language
bindings</ulink> on <ulink
url="https://www.gtk.org">https://www.gtk.org</ulink>.
</para>

View File

@@ -20,12 +20,8 @@ Getting help with GTK+
<title>Filing a bug report or feature request</title>
<para>
If you encounter a bug, misfeature, or missing feature in GTK+, please
file a bug report on
<ulink url="https://bugzilla.gnome.org">https://bugzilla.gnome.org</ulink>.
We'd also appreciate reports of incomplete or misleading information in
the GTK+ documentation; file those against the "docs" component of the "gtk+"
product in Bugzilla.
If you encounter a bug, misfeature, or missing feature in GTK, please
file a bug report on <ulink url="https://gitlab.gnome.org/GNOME/gtk/issues">GitLab</ulink>.
</para>
<para>
@@ -37,103 +33,38 @@ discussed, we'll add a note to that effect in the report.
<para>
The bug tracker should definitely be used for feature requests, it's
not only for bugs. We track all GTK+ development in Bugzilla, so it's
the way to be sure the GTK+ developers won't forget about an issue.
not only for bugs. We track all GTK development in GitLab, so it's
the way to be sure the GTK developers won't forget about an issue.
</para>
<para>
Just make sure that any issue filed is actionable, and contains clear
instructions on how to reproduce an issue, and the conditions to close
the bug report or feature request. Non-actionable, or user support
questions will be directed to Discourse.
</para>
</refsect1>
<refsect1>
<title>Submitting Patches</title>
<title>Contributing</title>
<para>
If you develop a bugfix or enhancement for GTK+, please file that in
Bugzilla as well. Bugzilla allows you to attach files; please attach a
patch generated by the <command>diff</command> utility, using the
<option>-u</option> option to make the patch more readable. All patches
must be offered under the terms of the GNU LGPL license, so be sure you
are authorized to give us the patch under those terms.
</para>
<para>
If you want to discuss your patch before or after developing it, mail
<ulink url="mailto:gtk-devel-list@gnome.org">gtk-devel-list@gnome.org</ulink>.
But be sure to file the Bugzilla report as well; if the patch is only on the
list and not in Bugzilla, it's likely to slip through the cracks.
Please, follow the instructions outlined in the
<ulink url="https://gitlab.gnome.org/GNOME/gtk/-/blob/master/CONTRIBUTING.md">Contribution Guide</ulink> available in the GTK
source code repository.
</para>
</refsect1>
<refsect1>
<title>Mailing lists</title>
<title>User support</title>
<para>
There are several mailing lists dedicated to GTK+ and related
libraries. Discussion of GLib, Pango, and ATK in addition to GTK+
proper is welcome on these lists. You can subscribe or view the
archives of these lists on
<ulink url="https://mail.gnome.org">http://mail.gnome.org</ulink>.
If you aren't subscribed to the list, any message you post to
the list will be held for manual moderation, which might take
some days to happen.
</para>
<para>
<variablelist>
<varlistentry>
<term><ulink url="mailto:gtk-list@gnome.org">gtk-list@gnome.org</ulink></term>
<listitem><para>
gtk-list covers general GTK+ topics; questions about using GTK+ in programs,
GTK+ from a user standpoint, announcements of GTK+-related projects
such as themes or GTK+ modules would all be on-topic. The bulk of the
traffic consists of GTK+ programming questions.
</para></listitem>
</varlistentry>
<varlistentry>
<term><ulink url="mailto:gtk-app-devel-list@gnome.org">gtk-app-devel-list@gnome.org</ulink></term>
<listitem><para>
gtk-app-devel-list covers writing applications in GTK+. It's narrower
in scope than gtk-list, but the two lists overlap quite a
bit. gtk-app-devel-list is a good place to ask questions about GTK+
programming. </para></listitem>
</varlistentry>
<varlistentry>
<term><ulink url="mailto:gtk-devel-list@gnome.org">gtk-devel-list@gnome.org</ulink></term>
<listitem><para>
gtk-devel-list is for discussion of work on GTK+ itself, it is
<emphasis>not</emphasis> for
asking questions about how to use GTK+ in applications. gtk-devel-list
is appropriate for discussion of patches, bugs, proposed features,
and so on.
</para></listitem>
</varlistentry>
<varlistentry>
<term><ulink url="mailto:gtk-i18n-list@gnome.org">gtk-i18n-list@gnome.org</ulink></term>
<listitem><para>
gtk-i18n-list is for discussion of internationalization in GTK+;
Pango is the main focus of the list. Questions about the details of
using Pango, and discussion of proposed Pango patches or features, are
all on topic.
</para></listitem>
</varlistentry>
<varlistentry>
<term><ulink url="mailto:gtk-doc-list@gnome.org">gtk-doc-list@gnome.org</ulink></term>
<listitem><para>
gtk-doc-list is for discussion of the <application>gtk-doc</application>
documentation system (used to document GTK+), and for work on the GTK+
documentation.
</para></listitem>
</varlistentry>
</variablelist>
If you have questions about building, using, or contributing to GTK, please
open a topic on <ulink url="https://discourse.gnome.org/tag/gtk">Discourse</ulink>.
</para>
</refsect1>
</refentry>

View File

@@ -134,9 +134,9 @@ additional environment variables.
<title><envar>GTK_DEBUG</envar></title>
<para>
Unless GTK+ has been configured with <option>--enable-debug=no</option>,
this variable can be set to a list of debug options, which cause GTK+
to print out different types of debugging information.
This variable can be set to a list of debug options, which cause GTK to
print out different types of debugging information. Some of these options
are only available when GTK has been configured with <option>--enable-debug=yes</option>.
<variablelist>
<varlistentry>
<term>actions</term>

View File

@@ -18,6 +18,7 @@ exampleapp_SOURCES = \
exampleappwin.c exampleappwin.h
EXTRA_DIST = \
exampleapp.desktop \
meson.build
-include $(top_srcdir)/git.mk

View File

@@ -5,7 +5,7 @@ app10_resources = gnome.compile_resources(
source_dir: '.'
)
app10_schemas = gnome.compile_schemas()
app10_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app10 = executable(
@@ -21,3 +21,5 @@ app10 = executable(
app10_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -5,7 +5,7 @@ app5_resources = gnome.compile_resources(
source_dir: '.'
)
app5_schemas = gnome.compile_schemas()
app5_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app5 = executable(
@@ -19,3 +19,5 @@ app5 = executable(
app5_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -5,7 +5,7 @@ app6_resources = gnome.compile_resources(
source_dir: '.'
)
app6_schemas = gnome.compile_schemas()
app6_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app6 = executable(
@@ -21,3 +21,5 @@ app6 = executable(
app6_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -5,7 +5,7 @@ app7_resources = gnome.compile_resources(
source_dir: '.'
)
app7_schemas = gnome.compile_schemas()
app7_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app7 = executable(
@@ -21,3 +21,5 @@ app7 = executable(
app7_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -5,7 +5,7 @@ app8_resources = gnome.compile_resources(
source_dir: '.'
)
app8_schemas = gnome.compile_schemas()
app8_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app8 = executable(
@@ -21,3 +21,5 @@ app8 = executable(
app8_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -5,7 +5,7 @@ app9_resources = gnome.compile_resources(
source_dir: '.'
)
app9_schemas = gnome.compile_schemas()
app9_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml']))
app9 = executable(
@@ -21,3 +21,5 @@ app9 = executable(
app9_schemas,
dependencies: libgtk_dep
)
install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir)

View File

@@ -1,5 +1,7 @@
## Makefile.am for gtk+/gdk
include $(top_srcdir)/Makefile.decl
include gdk-sources.inc
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ENV = \
@@ -60,138 +62,6 @@ LDADD = \
-rpath $(libdir) \
$(no_undefined)
#
# setup source file variables
#
#
# GDK header files for public installation (non-generated)
#
#
gdk_public_h_sources = \
gdk.h \
gdk-autocleanup.h \
gdkapplaunchcontext.h \
gdkcairo.h \
gdkcursor.h \
gdkdevice.h \
gdkdevicepad.h \
gdkdevicetool.h \
gdkdevicemanager.h \
gdkdisplay.h \
gdkdisplaymanager.h \
gdkdnd.h \
gdkdrawingcontext.h \
gdkevents.h \
gdkframetimings.h \
gdkglcontext.h \
gdkkeys.h \
gdkkeysyms.h \
gdkkeysyms-compat.h \
gdkmain.h \
gdkmonitor.h \
gdkpango.h \
gdkframeclock.h \
gdkpixbuf.h \
gdkprivate.h \
gdkproperty.h \
gdkrectangle.h \
gdkrgba.h \
gdkscreen.h \
gdkseat.h \
gdkselection.h \
gdktestutils.h \
gdkthreads.h \
gdktypes.h \
gdkvisual.h \
gdkwindow.h
deprecated_h_sources = \
deprecated/gdkcolor.h
gdk_h_sources = \
$(gdk_public_h_sources) \
$(deprecated_h_sources)
gdk_private_headers = \
gdk-private.h \
gdkapplaunchcontextprivate.h \
gdkconstructor.h \
gdkcursorprivate.h \
gdkdevicemanagerprivate.h \
gdkdeviceprivate.h \
gdkdevicepadprivate.h \
gdkdevicetoolprivate.h \
gdkdisplaymanagerprivate.h \
gdkdisplayprivate.h \
gdkdndprivate.h \
gdkdrawingcontextprivate.h \
gdkframeclockidle.h \
gdkframeclockprivate.h \
gdkglcontextprivate.h \
gdkmonitorprivate.h \
gdkprofilerprivate.h \
gdkscreenprivate.h \
gdkseatprivate.h \
gdkseatdefaultprivate.h \
gdkinternals.h \
gdkintl.h \
gdkkeysprivate.h \
gdkvisualprivate.h \
gdkx.h
deprecated_c_sources = \
deprecated/gdkcolor.c
gdk_c_sources = \
$(deprecated_c_sources) \
gdk-private.c \
gdk.c \
gdkapplaunchcontext.c \
gdkcairo.c \
gdkcursor.c \
gdkdeprecated.c \
gdkdevice.c \
gdkdevicepad.c \
gdkdevicetool.c \
gdkdevicemanager.c \
gdkdisplay.c \
gdkdisplaymanager.c \
gdkdnd.c \
gdkdrawingcontext.c \
gdkevents.c \
gdkframetimings.c \
gdkgl.c \
gdkglcontext.c \
gdkglobals.c \
gdkkeys.c \
gdkkeyuni.c \
gdkmonitor.c \
gdkoffscreenwindow.c \
gdkframeclock.c \
gdkframeclockidle.c \
gdkpango.c \
gdkpixbuf-drawable.c \
gdkprofiler.c \
gdkproperty.c \
gdkrectangle.c \
gdkrgba.c \
gdkscreen.c \
gdkseat.c \
gdkseatdefault.c \
gdkselection.c \
gdkvisual.c \
gdkwindow.c \
gdkwindowimpl.c
gdk_built_sources = \
gdkenumtypes.h \
gdkenumtypes.c \
gdkmarshalers.h \
gdkmarshalers.c \
gdkresources.h \
gdkresources.c \
gdkversionmacros.h
#
# setup GDK sources and their dependencies
#
@@ -201,7 +71,7 @@ gdkinclude_HEADERS = $(gdk_public_h_sources)
nodist_gdkinclude_HEADERS = gdkconfig.h gdkenumtypes.h gdkversionmacros.h
deprecatedincludedir = $(includedir)/gtk-3.0/gdk/deprecated
deprecatedinclude_HEADERS = $(deprecated_h_sources)
deprecatedinclude_HEADERS = $(gdk_deprecated_h_sources)
common_sources = \
$(gdk_private_headers) \
@@ -259,57 +129,6 @@ if OS_WIN32
Gdk_3_0_gir_CFLAGS += -I$(srcdir)/win32 -I$(srcdir)
endif
if USE_X11
x11_introspection_files = \
x11/gdkapplaunchcontext-x11.c \
x11/gdkasync.c \
x11/gdkcursor-x11.c \
x11/gdkdevice-core-x11.c \
x11/gdkdevicemanager-core-x11.c \
x11/gdkdevicemanager-x11.c \
x11/gdkdevicemanager-xi2.c \
x11/gdkdevice-xi2.c \
x11/gdkdisplay-x11.c \
x11/gdkdisplaymanager-x11.c \
x11/gdkdnd-x11.c \
x11/gdkeventsource.c \
x11/gdkeventtranslator.c \
x11/gdkgeometry-x11.c \
x11/gdkglcontext-x11.c \
x11/gdkkeys-x11.c \
x11/gdkmain-x11.c \
x11/gdkmonitor-x11.c \
x11/gdkproperty-x11.c \
x11/gdkscreen-x11.c \
x11/gdkselection-x11.c \
x11/gdksettings.c \
x11/gdktestutils-x11.c \
x11/gdkvisual-x11.c \
x11/gdkwindow-x11.c \
x11/gdkxftdefaults.c \
x11/gdkxid.c \
x11/xsettings-client.c \
x11/gdkx.h \
x11/gdkx11applaunchcontext.h \
x11/gdkx11cursor.h \
x11/gdkx11device.h \
x11/gdkx11device-core.h \
x11/gdkx11device-xi2.h \
x11/gdkx11devicemanager.h \
x11/gdkx11devicemanager-core.h \
x11/gdkx11devicemanager-xi2.h \
x11/gdkx11display.h \
x11/gdkx11displaymanager.h \
x11/gdkx11dnd.h \
x11/gdkx11glcontext.h \
x11/gdkx11keys.h \
x11/gdkx11monitor.h \
x11/gdkx11property.h \
x11/gdkx11screen.h \
x11/gdkx11selection.h \
x11/gdkx11utils.h \
x11/gdkx11visual.h \
x11/gdkx11window.h
GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile
GdkX11_3_0_gir_SCANNERFLAGS = \
--identifier-prefix=Gdk \
@@ -324,36 +143,6 @@ INTROSPECTION_GIRS += GdkX11-3.0.gir
endif # USE_X11
w32_introspection_files = \
win32/gdkcursor-win32.c \
win32/gdkdevicemanager-win32.c \
win32/gdkdevice-virtual.c \
win32/gdkdevice-win32.c \
win32/gdkdevice-wintab.c \
win32/gdkdisplaymanager-win32.c \
win32/gdkdisplay-win32.c \
win32/gdkdnd-win32.c \
win32/gdkevents-win32.c \
win32/gdkgeometry-win32.c \
win32/gdkglobals-win32.c \
win32/gdkkeys-win32.c \
win32/gdkmain-win32.c \
win32/gdkproperty-win32.c \
win32/gdkscreen-win32.c \
win32/gdkselection-win32.c \
win32/gdktestutils-win32.c \
win32/gdkwin32.h \
win32/gdkwin32cursor.h \
win32/gdkwin32display.h \
win32/gdkwin32displaymanager.h \
win32/gdkwin32dnd.h \
win32/gdkwin32id.c \
win32/gdkwin32keys.h \
win32/gdkwin32misc.h \
win32/gdkwin32screen.h \
win32/gdkwin32window.h \
win32/gdkwindow-win32.c
if OS_WIN32
GdkWin32-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile
GdkWin32_3_0_gir_SCANNERFLAGS = \
@@ -414,7 +203,6 @@ lib_LTLIBRARIES = libgdk-3.la
MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h
EXTRA_DIST += \
$(gdk_built_sources) \
fallback-c89.c
install-exec-hook:
@@ -471,7 +259,7 @@ stamp-gc-h: $(top_builddir)/config.status
# Resources
#
glsl_sources := $(wildcard $(srcdir)/resources/glsl/*.glsl)
glsl_sources := $(sort $(wildcard $(srcdir)/resources/glsl/*.glsl))
gdk.gresource.xml: Makefile.am
$(AM_V_GEN) echo "<?xml version='1.0' encoding='UTF-8'?>" > $@; \
@@ -491,67 +279,21 @@ resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --gener
gdkresources.h: gdk.gresource.xml
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ \
--sourcedir=$(srcdir) --c-name _gdk --generate-header --manual-register
--sourcedir=$(srcdir) --c-name _gdk --generate-header --manual-register --internal
gdkresources.c: gdk.gresource.xml $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ \
--sourcedir=$(srcdir) --c-name _gdk --generate-source --manual-register
--sourcedir=$(srcdir) --c-name _gdk --generate-source --manual-register --internal
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gdk-3
gdk_3_FILES = $(libgdk_3_la_SOURCES)
gdk_3_FILES = $(gdk_c_sources)
gdk_3_EXCLUDES = dummy
gdk_3_HEADERS_DIR = $(gdkincludedir)
gdk_3_HEADERS_INST = \
$(gdkinclude_HEADERS) \
$(deprecatedinclude_HEADERS) \
$(nodist_gdkinclude_HEADERS)
gdk_3_HEADERS_EXCLUDES = dummy
include $(top_srcdir)/build/Makefile.msvcproj
if HAVE_INTROSPECTION
# Introspection Items for MSVC
MSVC_INTROSPECT_GIRS = Gdk-3.0.gir GdkWin32-3.0.gir
BASE_MSVC_GIR_CFLAGS = \
$(GDK_CFLAGS_DEFINES) \
-I../.. -I../../gdk -I.../../gdk/win32
INTROSPECTION_INTERMEDIATE_ITEMS = \
$(top_builddir)/build/win32/Gdk-3.0.gir.msvc.introspect \
$(top_builddir)/build/win32/Gdk_3_0_gir_list \
$(top_builddir)/build/win32/GdkWin32-3.0.gir.msvc.introspect \
$(top_builddir)/build/win32/GdkWin32_3_0_gir_list
Gdk_3_0_gir_MSVC_FILES = $(introspection_files)
Gdk_3_0_gir_MSVC_EXPORT_PACKAGES = $(Gdk_3_0_gir_EXPORT_PACKAGES)
Gdk_3_0_gir_MSVC_INCLUDE_GIRS = $(Gdk_3_0_gir_INCLUDES)
Gdk_3_0_gir_MSVC_LIBS = gdk-3.0
Gdk_3_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
Gdk_3_0_gir_MSVC_SCANNERFLAGS = $(Gdk_3_0_gir_SCANNERFLAGS)
GdkWin32_3_0_gir_MSVC_FILES = $(w32_introspection_files)
GdkWin32_3_0_gir_MSVC_INCLUDE_GIRS = $(GdkWin32_3_0_gir_INCLUDES)
GdkWin32_3_0_gir_MSVC_LIBS = $(Gdk_3_0_gir_MSVC_LIBS)
GdkWin32_3_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
GdkWin32_3_0_gir_MSVC_SCANNERFLAGS = \
--identifier-prefix=Gdk \
--c-include="gdk/gdkwin32.h" \
--include-uninstalled='./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin/Gdk-3.0.gir'
include $(top_srcdir)/build/Makefile.msvc-introspection
else
INTROSPECTION_INTERMEDIATE_ITEMS =
endif
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: \
$(top_builddir)/build/win32/vs9/gdk-3.vcproj \
$(top_builddir)/build/win32/vs9/gdk-3.headers \
$(INTROSPECTION_INTERMEDIATE_ITEMS)
$(top_builddir)/win32/vs9/gdk-3.vcproj
DISTCLEANFILES = gdkconfig.h stamp-gc-h

View File

@@ -1,5 +1,6 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
include gdk-broadway-sources.inc
NULL =
libgdkincludedir = $(includedir)/gtk-3.0/gdk
@@ -23,15 +24,7 @@ noinst_LTLIBRARIES = libgdk-broadway.la
bin_PROGRAMS = broadwayd
libgdkinclude_HEADERS = \
gdkbroadway.h
libgdkbroadwayinclude_HEADERS = \
gdkbroadwaydisplay.h \
gdkbroadwaywindow.h \
gdkbroadwaycursor.h \
gdkbroadwaymonitor.h \
gdkbroadwayvisual.h
libgdkinclude_HEADERS = $(GDK_PUBLIC_H_SRCS_BROADWAY)
EXTRA_DIST += toarray.pl
@@ -46,40 +39,12 @@ broadwayjs.h: broadway.js rawinflate.min.js
EXTRA_DIST += broadway.js rawinflate.min.js
# built headers that don't get installed
broadway_built_private_headers = \
clienthtml.h \
broadwayjs.h
broadway_built_sources = \
${broadway_built_private_headers}
libgdk_broadway_la_SOURCES = \
${broadway_built_private_headers}\
gdkcursor-broadway.c \
gdkdevice-broadway.h \
gdkdevice-broadway.c \
gdkdevicemanager-broadway.h \
gdkdevicemanager-broadway.c \
gdkdisplay-broadway.c \
gdkdisplay-broadway.h \
gdkdnd-broadway.c \
gdkeventsource.c \
gdkeventsource.h \
gdkglobals-broadway.c \
gdkkeys-broadway.c \
gdkmonitor-broadway.c \
gdkmonitor-broadway.h \
gdkproperty-broadway.c \
gdkscreen-broadway.c \
gdkscreen-broadway.h \
gdkselection-broadway.c \
gdktestutils-broadway.c \
gdkvisual-broadway.c \
gdkwindow-broadway.c \
gdkwindow-broadway.h \
gdkprivate-broadway.h \
gdkbroadway-server.h \
gdkbroadway-server.c
$(GDK_BROADWAY_NON_GENERATED_SOURCES)
if OS_UNIX
libgdk_broadway_la_LIBADD = \
@@ -87,16 +52,6 @@ libgdk_broadway_la_LIBADD = \
$(NULL)
endif
broadwayd_SOURCES = \
broadway-protocol.h \
broadwayd.c \
broadway-server.h \
broadway-server.c \
broadway-buffer.c \
broadway-buffer.h \
broadway-output.h \
broadway-output.c
if OS_WIN32
broadwayd_LDADD = $(GDK_DEP_LIBS) -lws2_32
else
@@ -117,20 +72,14 @@ MSVCPROJS = gdk3-broadway broadwayd
gdk3_broadway_FILES = $(libgdk_broadway_la_SOURCES)
gdk3_broadway_EXCLUDES = dummy
gdk3_broadway_HEADERS_DIR = $(libgdkbroadwayincludedir)
gdk3_broadway_HEADERS_INST = $(libgdkbroadwayinclude_HEADERS)
gdk3_broadway_HEADERS_EXCLUDES = dummy
broadwayd_FILES = $(broadwayd_SOURCES)
broadwayd_EXCLUDES = dummy
include $(top_srcdir)/build/Makefile.msvcproj
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: \
$(top_builddir)/build/win32/vs9/gdk3-broadway.vcproj \
$(top_builddir)/build/win32/vs9/broadwayd.vcproj \
$(top_builddir)/build/win32/vs9/gdk3-broadway.headers
$(top_builddir)/win32/vs9/gdk3-broadway.vcproj \
$(top_builddir)/win32/vs9/broadwayd.vcproj
-include $(top_srcdir)/git.mk

View File

@@ -1,3 +1,27 @@
/* check if we are on Android and using Chrome */
var isAndroidChrome = false;
{
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("android") > -1 && ua.indexOf("chrom") > -1) {
isAndroidChrome = true;
}
}
/* check for the passive option for Event listener */
let passiveSupported = false;
try {
const options = {
get passive() { // This function will be called when the browser
// attempts to access the passive property.
passiveSupported = true;
return false;
}
};
window.addEventListener("test", null, options);
window.removeEventListener("test", null, options);
} catch(err) {
passiveSupported = false;
}
/* Helper functions for debugging */
var logDiv = null;
function log(str) {
@@ -10,6 +34,25 @@ function log(str) {
logDiv.appendChild(document.createTextNode(str));
logDiv.appendChild(document.createElement('br'));
}
/* Helper functions for touch identifier to make it unique on Android */
var globalTouchIdentifier = Math.round(Date.now() / 1000);
function touchIdentifierStart(tId)
{
if (isAndroidChrome) {
if (tId == 0) {
return ++globalTouchIdentifier;
}
return globalTouchIdentifier + tId;
}
return tId;
}
function touchIdentifier(tId)
{
if (isAndroidChrome) {
return globalTouchIdentifier + tId;
}
return tId;
}
function getStackTrace()
{
@@ -91,6 +134,7 @@ grab.window = null;
grab.ownerEvents = false;
grab.implicit = false;
var keyDownList = [];
var inputList = [];
var lastSerial = 0;
var lastX = 0;
var lastY = 0;
@@ -223,6 +267,7 @@ function cmdSetTransientFor(id, parentId)
{
var surface = surfaces[id];
if (surface === undefined) return;
if (surface.transientParent == parentId)
return;
@@ -253,8 +298,9 @@ function moveToHelper(surface, position) {
for (var cid in surfaces) {
var child = surfaces[cid];
if (child.transientParent == surface.id)
if (child.transientParent == surface.id) {
moveToHelper(child, stackingOrder.indexOf(surface) + 1);
}
}
}
@@ -269,6 +315,13 @@ function cmdDeleteSurface(id)
stackingOrder.splice(i, 1);
var canvas = surface.canvas;
canvas.parentNode.removeChild(canvas);
if (id == windowWithMouse) {
windowWithMouse = 0;
}
if (id == realWindowWithMouse) {
realWindowWithMouse = 0;
firstTouchDownId = null;
}
delete surfaces[id];
}
@@ -307,6 +360,7 @@ function cmdRaiseSurface(id)
{
var surface = surfaces[id];
if (surface === undefined) return;
moveToHelper(surface);
restackWindows();
}
@@ -315,6 +369,7 @@ function cmdLowerSurface(id)
{
var surface = surfaces[id];
if (surface === undefined) return;
moveToHelper(surface, 0);
restackWindows();
}
@@ -520,6 +575,7 @@ function cmdPutBuffer(id, w, h, compressed)
var data = inflate.decompress();
var imageData = decodeBuffer (context, surface.imageData, w, h, data, debugDecoding);
context.imageSmoothingEnabled = false;
context.putImageData(imageData, 0, 0);
if (debugDecoding)
@@ -776,8 +832,15 @@ function getEffectiveEventTarget (id) {
function updateKeyboardStatus() {
if (fakeInput != null && showKeyboardChanged) {
showKeyboardChanged = false;
if (showKeyboard)
if (showKeyboard) {
if (isAndroidChrome) {
fakeInput.blur();
fakeInput.value = ' '.repeat(80); // TODO: Should be exchange with broadway server
// to bring real value here.
}
fakeInput.focus();
//if (isAndroidChrome) fakeInput.click();
}
else
fakeInput.blur();
}
@@ -2329,6 +2392,19 @@ function pushKeyEvent(fev) {
keyDownList.push(fev);
}
function copyInputEvent(ev) {
var members = ['inputType', 'data'], i, obj = {};
for (i = 0; i < members.length; i++) {
if (typeof ev[members[i]] !== "undefined")
obj[members[i]] = ev[members[i]];
}
return obj;
}
function pushInputEvent(fev) {
inputList.push(fev);
}
function getKeyEvent(keyCode, pop) {
var i, fev = null;
for (i = keyDownList.length-1; i >= 0; i--) {
@@ -2366,8 +2442,9 @@ function handleKeyDown(e) {
// If it is a key or key combination that might trigger
// browser behaviors or it has no corresponding keyPress
// event, then send it immediately
if (!ignoreKeyEvent(ev))
if (!ignoreKeyEvent(ev)) {
sendInput("k", [keysym, lastState]);
}
suppress = true;
}
@@ -2411,8 +2488,9 @@ function handleKeyPress(e) {
}
// Send the translated keysym
if (keysym > 0)
if (keysym > 0) {
sendInput ("k", [keysym, lastState]);
}
// Stop keypress events just in case
return cancelEvent(ev);
@@ -2427,11 +2505,45 @@ function handleKeyUp(e) {
keysym = fev.keysym;
else {
//log("Key event (keyCode = " + ev.keyCode + ") not found on keyDownList");
if (isAndroidChrome && (ev.keyCode == 229)) {
var i, fev = null, len = inputList.length, str;
for (i = 0; i < len; i++) {
fev = inputList[i];
switch(fev.inputType) {
case "deleteContentBackward":
sendInput ("k", [65288, lastState]);
sendInput ("K", [65288, lastState]);
break;
case "insertText":
if (fev.data !== undefined) {
for (let sym of fev.data) {
sendInput ("k", [sym.codePointAt(0), lastState]);
sendInput ("K", [sym.codePointAt(0), lastState]);
}
}
break;
default:
break;
}
}
inputList.splice(0, len);
}
keysym = 0;
}
if (keysym > 0)
if (keysym > 0) {
sendInput ("K", [keysym, lastState]);
}
return cancelEvent(ev);
}
function handleInput (e) {
var fev = null, ev = (e ? e : window.event), keysym = null, suppress = false;
fev = copyInputEvent(ev);
pushInputEvent(fev);
// Stop keypress events just in case
return cancelEvent(ev);
}
@@ -2450,6 +2562,11 @@ function onKeyUp (ev) {
return handleKeyUp(ev);
}
function onInput (ev) {
updateForEvent(ev);
return handleInput(ev);
}
function cancelEvent(ev)
{
ev = ev ? ev : window.event;
@@ -2481,13 +2598,14 @@ function onMouseWheel(ev)
}
function onTouchStart(ev) {
event.preventDefault();
ev.preventDefault();
updateKeyboardStatus();
updateForEvent(ev);
for (var i = 0; i < ev.changedTouches.length; i++) {
var touch = ev.changedTouches.item(i);
var touchId = touchIdentifierStart(touch.identifier);
var origId = getSurfaceId(touch);
var id = getEffectiveEventTarget (origId);
@@ -2495,7 +2613,7 @@ function onTouchStart(ev) {
var isEmulated = 0;
if (firstTouchDownId == null) {
firstTouchDownId = touch.identifier;
firstTouchDownId = touchId;
isEmulated = 1;
if (realWindowWithMouse != origId || id != windowWithMouse) {
@@ -2510,52 +2628,54 @@ function onTouchStart(ev) {
}
}
sendInput ("t", [0, id, touch.identifier, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
sendInput ("t", [0, id, touchId, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
}
}
function onTouchMove(ev) {
event.preventDefault();
ev.preventDefault();
updateKeyboardStatus();
updateForEvent(ev);
for (var i = 0; i < ev.changedTouches.length; i++) {
var touch = ev.changedTouches.item(i);
var touchId = touchIdentifier(touch.identifier);
var origId = getSurfaceId(touch);
var id = getEffectiveEventTarget (origId);
var pos = getPositionsFromEvent(touch, id);
var isEmulated = 0;
if (firstTouchDownId == touch.identifier) {
if (firstTouchDownId == touchId) {
isEmulated = 1;
}
sendInput ("t", [1, id, touch.identifier, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
sendInput ("t", [1, id, touchId, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
}
}
function onTouchEnd(ev) {
event.preventDefault();
ev.preventDefault();
updateKeyboardStatus();
updateForEvent(ev);
for (var i = 0; i < ev.changedTouches.length; i++) {
var touch = ev.changedTouches.item(i);
var touchId = touchIdentifier(touch.identifier);
var origId = getSurfaceId(touch);
var id = getEffectiveEventTarget (origId);
var pos = getPositionsFromEvent(touch, id);
var isEmulated = 0;
if (firstTouchDownId == touch.identifier) {
if (firstTouchDownId == touchId) {
isEmulated = 1;
firstTouchDownId = null;
}
sendInput ("t", [2, id, touch.identifier, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
sendInput ("t", [2, id, touchId, isEmulated, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState]);
}
}
@@ -2572,11 +2692,11 @@ function setupDocument(document)
document.onkeyup = onKeyUp;
if (document.addEventListener) {
document.addEventListener('DOMMouseScroll', onMouseWheel, false);
document.addEventListener('mousewheel', onMouseWheel, false);
document.addEventListener('touchstart', onTouchStart, false);
document.addEventListener('touchmove', onTouchMove, false);
document.addEventListener('touchend', onTouchEnd, false);
document.addEventListener('DOMMouseScroll', onMouseWheel, passiveSupported ? { passive: false, capture: false } : false);
document.addEventListener('mousewheel', onMouseWheel, passiveSupported ? { passive: false, capture: false } : false);
document.addEventListener('touchstart', onTouchStart, passiveSupported ? { passive: false, capture: false } : false);
document.addEventListener('touchmove', onTouchMove, passiveSupported ? { passive: false, capture: false } : false);
document.addEventListener('touchend', onTouchEnd, passiveSupported ? { passive: false, capture: false } : false);
} else if (document.attachEvent) {
element.attachEvent("onmousewheel", onMouseWheel);
}
@@ -2630,12 +2750,14 @@ function connect()
};
var iOS = /(iPad|iPhone|iPod)/g.test( navigator.userAgent );
if (iOS) {
if (iOS || isAndroidChrome) {
fakeInput = document.createElement("input");
fakeInput.type = "text";
fakeInput.style.position = "absolute";
fakeInput.style.left = "-1000px";
fakeInput.style.top = "-1000px";
document.body.appendChild(fakeInput);
if (isAndroidChrome)
fakeInput.addEventListener('input', onInput, passiveSupported ? { passive: false, capture: false } : false);
}
}

View File

@@ -0,0 +1,55 @@
# Public header list for GdkBroadway
GDK_PUBLIC_H_SRCS_BROADWAY = \
gdkbroadway.h
libgdkbroadwayinclude_HEADERS = \
gdkbroadwaydisplay.h \
gdkbroadwaywindow.h \
gdkbroadwaycursor.h \
gdkbroadwaymonitor.h \
gdkbroadwayvisual.h
# built headers that don't get installed
broadway_built_private_headers = \
clienthtml.h \
broadwayjs.h
# Other non-generated sources
GDK_BROADWAY_NON_GENERATED_SOURCES = \
gdkcursor-broadway.c \
gdkdevice-broadway.h \
gdkdevice-broadway.c \
gdkdevicemanager-broadway.h \
gdkdevicemanager-broadway.c \
gdkdisplay-broadway.c \
gdkdisplay-broadway.h \
gdkdnd-broadway.c \
gdkeventsource.c \
gdkeventsource.h \
gdkglobals-broadway.c \
gdkkeys-broadway.c \
gdkmonitor-broadway.c \
gdkmonitor-broadway.h \
gdkproperty-broadway.c \
gdkscreen-broadway.c \
gdkscreen-broadway.h \
gdkselection-broadway.c \
gdktestutils-broadway.c \
gdkvisual-broadway.c \
gdkwindow-broadway.c \
gdkwindow-broadway.h \
gdkprivate-broadway.h \
gdkbroadway-server.h \
gdkbroadway-server.c
broadwayd_SOURCES = \
broadway-protocol.h \
broadwayd.c \
broadway-server.h \
broadway-server.c \
broadway-buffer.c \
broadway-buffer.h \
broadway-output.h \
broadway-output.c

View File

@@ -109,7 +109,7 @@ _gdk_broadway_display_open (const gchar *display_name)
broadway_display->server = _gdk_broadway_server_new (display_name, &error);
if (broadway_display->server == NULL)
{
g_printerr ("Unable to init server: %s\n", error->message);
GDK_NOTE (MISC, g_message ("Unable to init Broadway server: %s\n", error->message));
g_error_free (error);
return NULL;
}

View File

@@ -224,6 +224,7 @@ _gdk_broadway_events_got_input (BroadwayInputMsg *message)
event->scroll.y = message->pointer.win_y;
event->scroll.x_root = message->pointer.root_x;
event->scroll.y_root = message->pointer.root_y;
event->scroll.state = message->pointer.state;
event->scroll.direction = message->scroll.dir == 0 ? GDK_SCROLL_UP : GDK_SCROLL_DOWN;
gdk_event_set_device (event, device_manager->core_pointer);
gdk_event_set_seat (event, gdk_device_get_seat (device_manager->core_pointer));

213
gdk/gdk-sources.inc Normal file
View File

@@ -0,0 +1,213 @@
#
# GDK header files for public installation (non-generated)
#
#
# setup source file variables
#
gdk_public_h_sources = \
gdk.h \
gdk-autocleanup.h \
gdkapplaunchcontext.h \
gdkcairo.h \
gdkcursor.h \
gdkdevice.h \
gdkdevicepad.h \
gdkdevicetool.h \
gdkdevicemanager.h \
gdkdisplay.h \
gdkdisplaymanager.h \
gdkdnd.h \
gdkdrawingcontext.h \
gdkevents.h \
gdkframetimings.h \
gdkglcontext.h \
gdkkeys.h \
gdkkeysyms.h \
gdkkeysyms-compat.h \
gdkmain.h \
gdkmonitor.h \
gdkpango.h \
gdkframeclock.h \
gdkpixbuf.h \
gdkprivate.h \
gdkproperty.h \
gdkrectangle.h \
gdkrgba.h \
gdkscreen.h \
gdkseat.h \
gdkselection.h \
gdktestutils.h \
gdkthreads.h \
gdktypes.h \
gdkvisual.h \
gdkwindow.h
gdk_deprecated_h_sources = \
deprecated/gdkcolor.h
gdk_h_sources = \
$(gdk_public_h_sources) \
$(gdk_deprecated_h_sources)
gdk_private_headers = \
gdk-private.h \
gdkapplaunchcontextprivate.h \
gdkconstructor.h \
gdkcursorprivate.h \
gdkdevicemanagerprivate.h \
gdkdeviceprivate.h \
gdkdevicepadprivate.h \
gdkdevicetoolprivate.h \
gdkdisplaymanagerprivate.h \
gdkdisplayprivate.h \
gdkdndprivate.h \
gdkdrawingcontextprivate.h \
gdkframeclockidle.h \
gdkframeclockprivate.h \
gdkglcontextprivate.h \
gdkmonitorprivate.h \
gdkprofilerprivate.h \
gdkscreenprivate.h \
gdkseatprivate.h \
gdkseatdefaultprivate.h \
gdkinternals.h \
gdkintl.h \
gdkkeysprivate.h \
gdkvisualprivate.h \
gdkx.h
gdk_deprecated_c_sources = \
deprecated/gdkcolor.c
gdk_c_sources = \
$(gdk_deprecated_c_sources) \
gdk-private.c \
gdk.c \
gdkapplaunchcontext.c \
gdkcairo.c \
gdkcursor.c \
gdkdeprecated.c \
gdkdevice.c \
gdkdevicepad.c \
gdkdevicetool.c \
gdkdevicemanager.c \
gdkdisplay.c \
gdkdisplaymanager.c \
gdkdnd.c \
gdkdrawingcontext.c \
gdkevents.c \
gdkframetimings.c \
gdkgl.c \
gdkglcontext.c \
gdkglobals.c \
gdkkeys.c \
gdkkeyuni.c \
gdkmonitor.c \
gdkoffscreenwindow.c \
gdkframeclock.c \
gdkframeclockidle.c \
gdkpango.c \
gdkpixbuf-drawable.c \
gdkprofiler.c \
gdkproperty.c \
gdkrectangle.c \
gdkrgba.c \
gdkscreen.c \
gdkseat.c \
gdkseatdefault.c \
gdkselection.c \
gdkvisual.c \
gdkwindow.c \
gdkwindowimpl.c
gdk_built_sources = \
gdkenumtypes.h \
gdkenumtypes.c \
gdkmarshalers.h \
gdkmarshalers.c \
gdkresources.h \
gdkresources.c \
gdkversionmacros.h
x11_introspection_files = \
x11/gdkapplaunchcontext-x11.c \
x11/gdkasync.c \
x11/gdkcursor-x11.c \
x11/gdkdevice-core-x11.c \
x11/gdkdevicemanager-core-x11.c \
x11/gdkdevicemanager-x11.c \
x11/gdkdevicemanager-xi2.c \
x11/gdkdevice-xi2.c \
x11/gdkdisplay-x11.c \
x11/gdkdisplaymanager-x11.c \
x11/gdkdnd-x11.c \
x11/gdkeventsource.c \
x11/gdkeventtranslator.c \
x11/gdkgeometry-x11.c \
x11/gdkglcontext-x11.c \
x11/gdkkeys-x11.c \
x11/gdkmain-x11.c \
x11/gdkmonitor-x11.c \
x11/gdkproperty-x11.c \
x11/gdkscreen-x11.c \
x11/gdkselection-x11.c \
x11/gdksettings.c \
x11/gdktestutils-x11.c \
x11/gdkvisual-x11.c \
x11/gdkwindow-x11.c \
x11/gdkxftdefaults.c \
x11/gdkxid.c \
x11/xsettings-client.c \
x11/gdkx.h \
x11/gdkx11applaunchcontext.h \
x11/gdkx11cursor.h \
x11/gdkx11device.h \
x11/gdkx11device-core.h \
x11/gdkx11device-xi2.h \
x11/gdkx11devicemanager.h \
x11/gdkx11devicemanager-core.h \
x11/gdkx11devicemanager-xi2.h \
x11/gdkx11display.h \
x11/gdkx11displaymanager.h \
x11/gdkx11dnd.h \
x11/gdkx11glcontext.h \
x11/gdkx11keys.h \
x11/gdkx11monitor.h \
x11/gdkx11property.h \
x11/gdkx11screen.h \
x11/gdkx11selection.h \
x11/gdkx11utils.h \
x11/gdkx11visual.h \
x11/gdkx11window.h
w32_introspection_files = \
win32/gdkcursor-win32.c \
win32/gdkdevicemanager-win32.c \
win32/gdkdevice-virtual.c \
win32/gdkdevice-win32.c \
win32/gdkdevice-wintab.c \
win32/gdkdisplaymanager-win32.c \
win32/gdkdisplay-win32.c \
win32/gdkdnd-win32.c \
win32/gdkevents-win32.c \
win32/gdkgeometry-win32.c \
win32/gdkglobals-win32.c \
win32/gdkkeys-win32.c \
win32/gdkmain-win32.c \
win32/gdkproperty-win32.c \
win32/gdkscreen-win32.c \
win32/gdkselection-win32.c \
win32/gdktestutils-win32.c \
win32/gdkwin32.h \
win32/gdkwin32cursor.h \
win32/gdkwin32display.h \
win32/gdkwin32displaymanager.h \
win32/gdkwin32dnd.h \
win32/gdkwin32id.c \
win32/gdkwin32keys.h \
win32/gdkwin32misc.h \
win32/gdkwin32screen.h \
win32/gdkwin32window.h \
win32/gdkwindow-win32.c

View File

@@ -104,14 +104,6 @@
* Use this macro to guard code that is specific to the Wayland backend.
*/
/**
* GDK_DISABLE_DEPRECATION_WARNINGS:
*
* A macro that should be defined before including the gdk.h header.
* If it is defined, no compiler warnings will be produced for uses
* of deprecated GDK APIs.
*/
typedef struct _GdkPredicate GdkPredicate;
struct _GdkPredicate

View File

@@ -205,6 +205,9 @@ gdk_app_launch_context_set_display (GdkAppLaunchContext *context,
* Sets the screen on which applications will be launched when
* using this context. See also gdk_app_launch_context_set_display().
*
* Note that, typically, a #GdkScreen represents a logical screen,
* not a physical monitor.
*
* If both @screen and @display are set, the @screen takes priority.
* If neither @screen or @display are set, the default screen and
* display are used.

View File

@@ -226,7 +226,7 @@ gdk_cursor_get_cursor_type (GdkCursor *cursor)
*
* Creates a new cursor from the set of builtin cursors.
*
* Returns: a new #GdkCursor
* Returns: (nullable) (transfer full): a new #GdkCursor, or %NULL on failure
*
* Since: 2.2
**/

View File

@@ -278,6 +278,7 @@ free_pointer_info (GdkPointerWindowInfo *info)
{
if (info->toplevel_under_pointer)
g_object_unref (info->toplevel_under_pointer);
g_clear_object (&info->last_slave);
g_slice_free (GdkPointerWindowInfo, info);
}

View File

@@ -585,7 +585,7 @@ gdk_event_new (GdkEventType type)
return new_event;
}
static gboolean
gboolean
gdk_event_is_allocated (const GdkEvent *event)
{
if (event_hash)
@@ -663,6 +663,11 @@ gdk_event_copy (const GdkEvent *event)
new_private->source_device = private->source_device ? g_object_ref (private->source_device) : NULL;
new_private->seat = private->seat;
new_private->tool = private->tool;
#ifdef GDK_WINDOWING_WIN32
new_private->translation_len = private->translation_len;
new_private->translation = g_memdup (private->translation, private->translation_len * sizeof (private->translation[0]));
#endif
}
switch (event->any.type)
@@ -767,6 +772,9 @@ gdk_event_free (GdkEvent *event)
private = (GdkEventPrivate *) event;
g_clear_object (&private->device);
g_clear_object (&private->source_device);
#ifdef GDK_WINDOWING_WIN32
g_free (private->translation);
#endif
}
switch (event->any.type)
@@ -2564,4 +2572,4 @@ gdk_event_get_scancode (GdkEvent *event)
private = (GdkEventPrivate *) event;
return private->key_scancode;
}
}

View File

@@ -505,11 +505,15 @@ _gdk_frame_clock_debug_print_timings (GdkFrameClock *clock,
GString *str;
gint64 previous_frame_time = 0;
gint64 previous_smoothed_frame_time = 0;
GdkFrameTimings *previous_timings = gdk_frame_clock_get_timings (clock,
timings->frame_counter - 1);
if (previous_timings != NULL)
previous_frame_time = previous_timings->frame_time;
{
previous_frame_time = previous_timings->frame_time;
previous_smoothed_frame_time = previous_timings->smoothed_frame_time;
}
str = g_string_new ("");
@@ -518,6 +522,9 @@ _gdk_frame_clock_debug_print_timings (GdkFrameClock *clock,
{
g_string_append_printf (str, " interval=%-4.1f", (timings->frame_time - previous_frame_time) / 1000.);
g_string_append_printf (str, timings->slept_before ? " (sleep)" : " ");
g_string_append_printf (str, " smoothed=%4.1f / %-4.1f",
(timings->smoothed_frame_time - timings->frame_time) / 1000.,
(timings->smoothed_frame_time - previous_smoothed_frame_time) / 1000.);
}
if (timings->layout_start_time != 0)
g_string_append_printf (str, " layout_start=%-4.1f", (timings->layout_start_time - timings->frame_time) / 1000.);
@@ -525,6 +532,8 @@ _gdk_frame_clock_debug_print_timings (GdkFrameClock *clock,
g_string_append_printf (str, " paint_start=%-4.1f", (timings->paint_start_time - timings->frame_time) / 1000.);
if (timings->frame_end_time != 0)
g_string_append_printf (str, " frame_end=%-4.1f", (timings->frame_end_time - timings->frame_time) / 1000.);
if (timings->drawn_time != 0)
g_string_append_printf (str, " drawn=%-4.1f", (timings->drawn_time - timings->frame_time) / 1000.);
if (timings->presentation_time != 0)
g_string_append_printf (str, " present=%-4.1f", (timings->presentation_time - timings->frame_time) / 1000.);
if (timings->predicted_presentation_time != 0)
@@ -566,16 +575,12 @@ gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
gint64 *presentation_time_return)
{
gint64 frame_counter;
gint64 default_refresh_interval = DEFAULT_REFRESH_INTERVAL;
g_return_if_fail (GDK_IS_FRAME_CLOCK (frame_clock));
frame_counter = gdk_frame_clock_get_frame_counter (frame_clock);
if (presentation_time_return)
*presentation_time_return = 0;
if (refresh_interval_return)
*refresh_interval_return = DEFAULT_REFRESH_INTERVAL;
while (TRUE)
{
GdkFrameTimings *timings = gdk_frame_clock_get_timings (frame_clock, frame_counter);
@@ -583,19 +588,21 @@ gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
gint64 refresh_interval;
if (timings == NULL)
return;
break;
refresh_interval = timings->refresh_interval;
presentation_time = timings->presentation_time;
if (refresh_interval == 0)
refresh_interval = default_refresh_interval;
else
default_refresh_interval = refresh_interval;
if (presentation_time != 0)
{
if (presentation_time > base_time - MAX_HISTORY_AGE &&
presentation_time_return)
{
if (refresh_interval == 0)
refresh_interval = DEFAULT_REFRESH_INTERVAL;
if (refresh_interval_return)
*refresh_interval_return = refresh_interval;
@@ -604,13 +611,20 @@ gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
if (presentation_time_return)
*presentation_time_return = presentation_time;
return;
}
return;
break;
}
frame_counter--;
}
if (presentation_time_return)
*presentation_time_return = 0;
if (refresh_interval_return)
*refresh_interval_return = default_refresh_interval;
}
void

View File

@@ -36,10 +36,25 @@
#define FRAME_INTERVAL 16667 /* microseconds */
typedef enum {
SMOOTH_PHASE_STATE_VALID = 0, /* explicit, since we count on zero-init */
SMOOTH_PHASE_STATE_AWAIT_FIRST,
SMOOTH_PHASE_STATE_AWAIT_DRAWN,
} SmoothDeltaState;
struct _GdkFrameClockIdlePrivate
{
gint64 frame_time;
gint64 min_next_frame_time;
gint64 frame_time; /* The exact time we last ran the clock cycle, or 0 if never */
gint64 smoothed_frame_time_base; /* A grid-aligned version of frame_time (grid size == refresh period), never more than half a grid from frame_time */
gint64 smoothed_frame_time_period; /* The grid size that smoothed_frame_time_base is aligned to */
gint64 smoothed_frame_time_reported; /* Ensures we are always monotonic */
gint64 smoothed_frame_time_phase; /* The offset of the first reported frame time, in the current animation sequence, from the preceding vsync */
gint64 min_next_frame_time; /* We're not synced to vblank, so wait at least until this before next cycle to avoid busy looping */
SmoothDeltaState smooth_phase_state; /* The state of smoothed_frame_time_phase - is it valid, awaiting vsync etc. Thanks to zero-init, the initial value
of smoothed_frame_time_phase is `0`. This is valid, since we didn't get a "frame drawn" event yet. Accordingly,
the initial value of smooth_phase_state is SMOOTH_PHASE_STATE_VALID. See the comment in gdk_frame_clock_paint_idle()
for details. */
gint64 sleep_serial;
#ifdef G_ENABLE_DEBUG
gint64 freeze_time;
@@ -54,6 +69,7 @@ struct _GdkFrameClockIdlePrivate
GdkFrameClockPhase phase;
guint in_paint_idle : 1;
guint paint_is_thaw : 1;
#ifdef G_OS_WIN32
guint begin_period : 1;
#endif
@@ -124,8 +140,8 @@ gdk_frame_clock_idle_init (GdkFrameClockIdle *frame_clock_idle)
frame_clock_idle->priv = priv =
gdk_frame_clock_idle_get_instance_private (frame_clock_idle);
priv->frame_time = g_get_monotonic_time (); /* more sane than zero */
priv->freeze_count = 0;
priv->smoothed_frame_time_period = FRAME_INTERVAL;
}
static void
@@ -156,44 +172,107 @@ gdk_frame_clock_idle_dispose (GObject *object)
G_OBJECT_CLASS (gdk_frame_clock_idle_parent_class)->dispose (object);
}
/* Note: This is never called on first frame, so
* smoothed_frame_time_base != 0 and we have a valid frame_interval. */
static gint64
compute_frame_time (GdkFrameClockIdle *idle)
compute_smooth_frame_time (GdkFrameClock *clock,
gint64 new_frame_time,
gboolean new_frame_time_is_vsync_related,
gint64 smoothed_frame_time_base,
gint64 frame_interval)
{
GdkFrameClockIdlePrivate *priv = idle->priv;
gint64 computed_frame_time;
GdkFrameClockIdlePrivate *priv = GDK_FRAME_CLOCK_IDLE (clock)->priv;
int frames_passed;
gint64 new_smoothed_time;
gint64 current_error;
gint64 correction_magnitude;
computed_frame_time = g_get_monotonic_time ();
/* Consecutive frame, assume it is an integer number of frames later, so round to nearest such */
/* NOTE: This is >= 0, because smoothed_frame_time_base is < frame_interval/2 from old_frame_time
* and new_frame_time >= old_frame_time. */
frames_passed = (new_frame_time - smoothed_frame_time_base + frame_interval / 2) / frame_interval;
/* ensure monotonicity of frame time */
if (computed_frame_time <= priv->frame_time)
computed_frame_time = priv->frame_time + 1;
/* We use an approximately whole number of frames in the future from
* last smoothed frame time. This way we avoid minor jitter in the
* frame times making the animation speed uneven, but still animate
* evenly in case of whole frame skips. */
new_smoothed_time = smoothed_frame_time_base + frames_passed * frame_interval;
return computed_frame_time;
/* However, sometimes the smoothed time is too much off from the
* real time. For example, if the first frame clock cycle happened
* not due to a frame rendering but an input event, then
* new_frame_time could happen to be near the middle between two
* frames. If that happens and we then start regularly animating at
* the refresh_rate, then the jitter in the real time may cause us
* to randomly sometimes round up, and sometimes down.
*
* To combat this we converge the smooth time towards the real time
* in a way that is slow when they are near and fast when they are
* far from each other.
*
* This is done by using the square of the error as the correction
* magnitude. I.e. if the error is 0.5 frame, we correct by
* 0.5*0.5=0.25 frame, if the error is 0.25 we correct by 0.125, if
* the error is 0.1, frame we correct by 0.01 frame, etc.
*
* The actual computation is:
* (current_error/frame_interval)*(current_error/frame_interval)*frame_interval
* But this can be simplified as below.
*
* Note: We only do this correction if the new frame is caused by a
* thaw of the frame clock, so that we know the time is actually
* related to the physical vblank. For frameclock cycles triggered
* by other events we always step up in whole frames from the last
* reported time.
*/
if (new_frame_time_is_vsync_related)
{
current_error = new_smoothed_time - new_frame_time;
correction_magnitude = current_error * current_error / frame_interval; /* Note, this is always > 0 due to the square */
if (current_error > 0)
new_smoothed_time -= correction_magnitude;
else
new_smoothed_time += correction_magnitude;
}
/* Ensure we're always monotonic */
if (new_smoothed_time <= priv->smoothed_frame_time_reported)
new_smoothed_time = priv->smoothed_frame_time_reported;
return new_smoothed_time;
}
static gint64
gdk_frame_clock_idle_get_frame_time (GdkFrameClock *clock)
{
GdkFrameClockIdlePrivate *priv = GDK_FRAME_CLOCK_IDLE (clock)->priv;
gint64 computed_frame_time;
gint64 now;
gint64 new_smoothed_time;
/* can't change frame time during a paint */
if (priv->phase != GDK_FRAME_CLOCK_PHASE_NONE &&
priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS)
return priv->frame_time;
priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS &&
(priv->phase != GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT || priv->in_paint_idle))
return priv->smoothed_frame_time_base;
/* Outside a paint, pick something close to "now" */
computed_frame_time = compute_frame_time (GDK_FRAME_CLOCK_IDLE (clock));
/* Outside a paint, pick something smoothed close to now */
now = g_get_monotonic_time ();
/* 16ms is 60fps. We only update frame time that often because we'd
* like to try to keep animations on the same start times.
* get_frame_time() would normally be used outside of a paint to
* record an animation start time for example.
*/
if ((computed_frame_time - priv->frame_time) > FRAME_INTERVAL)
priv->frame_time = computed_frame_time;
/* First time frame, just return something */
if (priv->smoothed_frame_time_base == 0)
{
priv->smoothed_frame_time_reported = now;
return now;
}
return priv->frame_time;
/* Since time is monotonic this is <= what we will pick for the next cycle, but
more likely than not it will be equal if we're doing a constant animation. */
new_smoothed_time = compute_smooth_frame_time (clock, now, FALSE,
priv->smoothed_frame_time_base,
priv->smoothed_frame_time_period);
priv->smoothed_frame_time_reported = new_smoothed_time;
return new_smoothed_time;
}
#define RUN_FLUSH_IDLE(priv) \
@@ -211,7 +290,8 @@ gdk_frame_clock_idle_get_frame_time (GdkFrameClock *clock)
(priv)->updating_count > 0))
static void
maybe_start_idle (GdkFrameClockIdle *clock_idle)
maybe_start_idle (GdkFrameClockIdle *clock_idle,
gboolean caused_by_thaw)
{
GdkFrameClockIdlePrivate *priv = clock_idle->priv;
@@ -221,7 +301,7 @@ maybe_start_idle (GdkFrameClockIdle *clock_idle)
if (priv->min_next_frame_time != 0)
{
gint64 now = compute_frame_time (clock_idle);
gint64 now = g_get_monotonic_time ();
gint64 min_interval_us = MAX (priv->min_next_frame_time, now) - now;
min_interval = (min_interval_us + 500) / 1000;
}
@@ -239,6 +319,7 @@ maybe_start_idle (GdkFrameClockIdle *clock_idle)
if (!priv->in_paint_idle &&
priv->paint_idle_id == 0 && RUN_PAINT_IDLE (priv))
{
priv->paint_is_thaw = caused_by_thaw;
priv->paint_idle_id = gdk_threads_add_timeout_full (GDK_PRIORITY_REDRAW,
min_interval,
gdk_frame_clock_paint_idle,
@@ -267,23 +348,6 @@ maybe_stop_idle (GdkFrameClockIdle *clock_idle)
}
}
static gint64
compute_min_next_frame_time (GdkFrameClockIdle *clock_idle,
gint64 last_frame_time)
{
gint64 presentation_time;
gint64 refresh_interval;
gdk_frame_clock_get_refresh_info (GDK_FRAME_CLOCK (clock_idle),
last_frame_time,
&refresh_interval, &presentation_time);
if (presentation_time == 0)
return last_frame_time + refresh_interval;
else
return presentation_time + refresh_interval / 2;
}
static gboolean
gdk_frame_clock_flush_idle (void *data)
{
@@ -310,6 +374,25 @@ gdk_frame_clock_flush_idle (void *data)
return FALSE;
}
/*
* Returns the positive remainder.
*
* As an example, lets consider (-5) % 16:
*
* (-5) % 16 = (0 * 16) + (-5) = -5
*
* If we only want positive remainders, we can instead calculate
*
* (-5) % 16 = (1 * 16) + (-5) = 11
*
* The built-in `%` operator returns the former, positive_modulo() returns the latter.
*/
static int
positive_modulo (int i, int n)
{
return (i % n + n) % n;
}
static gboolean
gdk_frame_clock_paint_idle (void *data)
{
@@ -343,39 +426,103 @@ gdk_frame_clock_paint_idle (void *data)
if (priv->freeze_count == 0)
{
gint64 frame_interval = FRAME_INTERVAL;
gint64 reset_frame_time;
gint64 smoothest_frame_time;
gint64 frame_time_error;
GdkFrameTimings *prev_timings =
gdk_frame_clock_get_current_timings (clock);
GdkFrameTimings *prev_timings = gdk_frame_clock_get_current_timings (clock);
if (prev_timings && prev_timings->refresh_interval)
frame_interval = prev_timings->refresh_interval;
/* We are likely not getting precisely even callbacks in real
* time, particularly if the event loop is busy.
* This is a documented limitation in the precision of
* gdk_threads_add_timeout_full and g_timeout_add_full.
priv->frame_time = g_get_monotonic_time ();
/*
* The first clock cycle of an animation might have been triggered by some external event. An external
* event can be an input event, an expired timer, data arriving over the network etc. This can happen at
* any time, so the cycle could have been scheduled at some random time rather then immediately after a
* frame completion. The offset between the start of the first animation cycle and the preceding vsync is
* called the "phase" of the clock cycle start time (not to be confused with the phase of the frame
* clock).
*
* In order to avoid this imprecision from compounding between
* frames and affecting visual smoothness, we correct frame_time
* to more precisely match the even refresh interval of the
* physical display. This also means we proactively avoid (most)
* missed frames before they occur.
* In this first clock cycle, the "smooth" frame time is simply the time when the cycle was started. This
* could be followed by several cycles which are not vsync-related. As long as we don't get a "frame
* drawn" signal from the compositor, the clock cycles will occur every about frame_interval. Once we do
* get a "frame drawn" signal, from this point on the frame clock cycles will start shortly after the
* corresponding vsync signals, again every about frame_interval. The first vsync-related clock cycle
* might occur less than a refresh interval away from the last non-vsync-related cycle. See the diagram
* below for details. So while the cadence stays the same - a frame clock cycle every about frame_interval
* - the phase of the cycles start time has changed.
*
* Since we might have already reported the frame time to the application in the previous clock cycles, we
* have to adjust future reported frame times. We want the first vsync-related smooth time to be separated
* by exactly 1 frame_interval from the previous one, in order to maintain the regularity of the reported
* frame times. To achieve that, from this point on we add the phase of the first clock cycle start time to
* the smooth time. In order to compute that phase, accounting for possible skipped frames (e.g. due to
* compositor stalls), we want the following to be true:
*
* first_vsync_smooth_time = last_non_vsync_smooth_time + frame_interval * (1 + frames_skipped)
*
* We can assign the following known/desired values to the above equation:
*
* last_non_vsync_smooth_time = smoothed_frame_time_base
* first_vsync_smooth_time = frame_time + smoothed_frame_time_phase
*
* That leads us to the following, from which we can extract smoothed_frame_time_phase:
*
* frame_time + smoothed_frame_time_phase = smoothed_frame_time_base +
* frame_interval * (1 + frames_skipped)
*
* In the following diagram, '|' mark a vsync, '*' mark the start of a clock cycle, '+' is the adjusted
* frame time, '!' marks the reception of "frame drawn" events from the compositor. Note that the clock
* cycle cadence changed after the first vsync-related cycle. This cadence is kept even if we don't
* receive a 'frame drawn' signal in a subsequent frame, since then we schedule the clock at intervals of
* refresh_interval.
*
* vsync | | | | | |...
* frame drawn | | |! |! | |...
* cycle start | * | * |* |* |* |...
* adjusted times | * | * | + | + | + |...
* phase ^------^
*/
smoothest_frame_time = priv->frame_time + frame_interval;
reset_frame_time = compute_frame_time (clock_idle);
frame_time_error = ABS (reset_frame_time - smoothest_frame_time);
if (frame_time_error >= frame_interval)
priv->frame_time = reset_frame_time;
if (priv->smooth_phase_state == SMOOTH_PHASE_STATE_AWAIT_FIRST)
{
/* First animation cycle - usually unrelated to vsync */
priv->smoothed_frame_time_base = 0;
priv->smoothed_frame_time_phase = 0;
priv->smooth_phase_state = SMOOTH_PHASE_STATE_AWAIT_DRAWN;
}
else if (priv->smooth_phase_state == SMOOTH_PHASE_STATE_AWAIT_DRAWN &&
priv->paint_is_thaw)
{
/* First vsync-related animation cycle, we can now compute the phase. We want the phase to satisfy
0 <= phase < frame_interval */
priv->smoothed_frame_time_phase =
positive_modulo (priv->smoothed_frame_time_base - priv->frame_time,
frame_interval);
priv->smooth_phase_state = SMOOTH_PHASE_STATE_VALID;
}
if (priv->smoothed_frame_time_base == 0)
{
/* First frame ever, or first cycle in a new animation sequence. Ensure monotonicity */
priv->smoothed_frame_time_base = MAX (priv->frame_time, priv->smoothed_frame_time_reported);
}
else
priv->frame_time = smoothest_frame_time;
{
/* compute_smooth_frame_time() ensures monotonicity */
priv->smoothed_frame_time_base =
compute_smooth_frame_time (clock, priv->frame_time + priv->smoothed_frame_time_phase,
priv->paint_is_thaw,
priv->smoothed_frame_time_base,
priv->smoothed_frame_time_period);
}
priv->smoothed_frame_time_period = frame_interval;
priv->smoothed_frame_time_reported = priv->smoothed_frame_time_base;
_gdk_frame_clock_begin_frame (clock);
/* Note "current" is different now so timings != prev_timings */
timings = gdk_frame_clock_get_current_timings (clock);
timings->frame_time = priv->frame_time;
timings->smoothed_frame_time = priv->smoothed_frame_time_base;
timings->slept_before = priv->sleep_serial != get_sleep_serial ();
priv->phase = GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT;
@@ -496,9 +643,20 @@ gdk_frame_clock_paint_idle (void *data)
*/
if (priv->freeze_count == 0)
{
priv->min_next_frame_time = compute_min_next_frame_time (clock_idle,
priv->frame_time);
maybe_start_idle (clock_idle);
/*
* If we don't receive "frame drawn" events, smooth_cycle_start will simply be advanced in constant increments of
* the refresh interval. That way we get absolute target times for the next cycles, which should prevent skewing
* in the scheduling of the frame clock.
*
* Once we do receive "frame drawn" events, smooth_cycle_start will track the vsync, and do so in a more stable
* way compared to frame_time. If we then no longer receive "frame drawn" events, smooth_cycle_start will again be
* simply advanced in increments of the refresh interval, but this time we are in sync with the vsync. If we start
* receiving "frame drawn" events shortly after loosing them, then we should still be in sync.
*/
gint64 smooth_cycle_start = priv->smoothed_frame_time_base - priv->smoothed_frame_time_phase;
priv->min_next_frame_time = smooth_cycle_start + priv->smoothed_frame_time_period;
maybe_start_idle (clock_idle, FALSE);
}
if (priv->freeze_count == 0)
@@ -515,7 +673,7 @@ gdk_frame_clock_idle_request_phase (GdkFrameClock *clock,
GdkFrameClockIdlePrivate *priv = clock_idle->priv;
priv->requested |= phase;
maybe_start_idle (clock_idle);
maybe_start_idle (clock_idle, FALSE);
}
static void
@@ -533,8 +691,13 @@ gdk_frame_clock_idle_begin_updating (GdkFrameClock *clock)
}
#endif
if (priv->updating_count == 0)
{
priv->smooth_phase_state = SMOOTH_PHASE_STATE_AWAIT_FIRST;
}
priv->updating_count++;
maybe_start_idle (clock_idle);
maybe_start_idle (clock_idle, FALSE);
}
static void
@@ -548,6 +711,11 @@ gdk_frame_clock_idle_end_updating (GdkFrameClock *clock)
priv->updating_count--;
maybe_stop_idle (clock_idle);
if (priv->updating_count == 0)
{
priv->smooth_phase_state = SMOOTH_PHASE_STATE_VALID;
}
#ifdef G_OS_WIN32
if (priv->updating_count == 0 && priv->begin_period)
{
@@ -586,7 +754,7 @@ gdk_frame_clock_idle_thaw (GdkFrameClock *clock)
priv->freeze_count--;
if (priv->freeze_count == 0)
{
maybe_start_idle (clock_idle);
maybe_start_idle (clock_idle, TRUE);
/* If nothing is requested so we didn't start an idle, we need
* to skip to the end of the state chain, since the idle won't
* run and do it for us.

View File

@@ -89,6 +89,7 @@ struct _GdkFrameTimings
gint64 frame_counter;
guint64 cookie;
gint64 frame_time;
gint64 smoothed_frame_time;
gint64 drawn_time;
gint64 presentation_time;
gint64 refresh_interval;

View File

@@ -370,7 +370,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
paint_data = gdk_gl_context_get_paint_data (paint_context);
if (paint_data->tmp_framebuffer == 0)
glGenFramebuffersEXT (1, &paint_data->tmp_framebuffer);
glGenFramebuffers (1, &paint_data->tmp_framebuffer);
if (source_type == GL_RENDERBUFFER)
{
@@ -423,10 +423,10 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
/* Create a framebuffer with the source renderbuffer and
make it the current target for reads */
framebuffer = paint_data->tmp_framebuffer;
glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, framebuffer);
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_RENDERBUFFER_EXT, source);
glBindFramebufferEXT (GL_DRAW_FRAMEBUFFER_EXT, 0);
glBindFramebuffer (GL_FRAMEBUFFER, framebuffer);
glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
GL_RENDERBUFFER, source);
glBindFramebuffer (GL_DRAW_FRAMEBUFFER, 0);
/* Translate to impl coords */
cairo_region_translate (clip_region, dx, dy);
@@ -481,11 +481,11 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
{
int clipped_src_x = x + (dest.x - dx * window_scale);
int clipped_src_y = y + (height - dest.height - (dest.y - dy * window_scale));
glBlitFramebufferEXT(clipped_src_x, clipped_src_y,
(clipped_src_x + dest.width), (clipped_src_y + dest.height),
dest.x, FLIP_Y(dest.y + dest.height),
dest.x + dest.width, FLIP_Y(dest.y),
GL_COLOR_BUFFER_BIT, GL_NEAREST);
glBlitFramebuffer (clipped_src_x, clipped_src_y,
(clipped_src_x + dest.width), (clipped_src_y + dest.height),
dest.x, FLIP_Y(dest.y + dest.height),
dest.x + dest.width, FLIP_Y(dest.y),
GL_COLOR_BUFFER_BIT, GL_NEAREST);
if (impl_window->current_paint.flushed_region)
{
cairo_rectangle_int_t flushed_rect;
@@ -505,7 +505,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
glDisable (GL_SCISSOR_TEST);
glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, 0);
glBindFramebuffer (GL_FRAMEBUFFER, 0);
#undef FLIP_Y
@@ -671,19 +671,19 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
cairo_surface_set_device_scale (image, buffer_scale, buffer_scale);
framebuffer = paint_data->tmp_framebuffer;
glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, framebuffer);
glBindFramebuffer (GL_FRAMEBUFFER, framebuffer);
if (source_type == GL_RENDERBUFFER)
{
/* Create a framebuffer with the source renderbuffer and
make it the current target for reads */
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_RENDERBUFFER_EXT, source);
glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
GL_RENDERBUFFER, source);
}
else
{
glFramebufferTexture2DEXT (GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_TEXTURE_2D, source, 0);
glFramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
GL_TEXTURE_2D, source, 0);
}
glPixelStorei (GL_PACK_ALIGNMENT, 4);
@@ -699,7 +699,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
glPixelStorei (GL_PACK_ROW_LENGTH, 0);
glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, 0);
glBindFramebuffer (GL_FRAMEBUFFER, 0);
cairo_surface_mark_dirty (image);

View File

@@ -812,10 +812,10 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
}
else
{
has_npot = epoxy_has_gl_extension ("GL_ARB_texture_non_power_of_two");
has_texture_rectangle = epoxy_has_gl_extension ("GL_ARB_texture_rectangle");
has_npot = priv->gl_version >= 20 || epoxy_has_gl_extension ("GL_ARB_texture_non_power_of_two");
has_texture_rectangle = priv->gl_version >= 31 || epoxy_has_gl_extension ("GL_ARB_texture_rectangle");
priv->has_gl_framebuffer_blit = epoxy_has_gl_extension ("GL_EXT_framebuffer_blit");
priv->has_gl_framebuffer_blit = priv->gl_version >= 30 || epoxy_has_gl_extension ("GL_EXT_framebuffer_blit");
priv->has_frame_terminator = epoxy_has_gl_extension ("GL_GREMEDY_frame_terminator");
priv->has_unpack_subimage = TRUE;

View File

@@ -192,6 +192,11 @@ struct _GdkEventPrivate
GdkSeat *seat;
GdkDeviceTool *tool;
guint16 key_scancode;
#ifdef GDK_WINDOWING_WIN32
gunichar2 *translation;
guint translation_len;
#endif
};
typedef struct _GdkWindowPaint GdkWindowPaint;
@@ -413,6 +418,10 @@ void gdk_event_set_scancode (GdkEvent *event,
void gdk_event_set_seat (GdkEvent *event,
GdkSeat *seat);
/* The IME IM module needs this symbol exported. */
_GDK_EXTERN
gboolean gdk_event_is_allocated (const GdkEvent *event);
void _gdk_event_emit (GdkEvent *event);
GList* _gdk_event_queue_find_first (GdkDisplay *display);
void _gdk_event_queue_remove_link (GdkDisplay *display,

View File

@@ -274,6 +274,10 @@
#define GDK_dead_invertedbreve 0xfe6d
#define GDK_dead_belowcomma 0xfe6e
#define GDK_dead_currency 0xfe6f
#define GDK_dead_lowline 0xfe90
#define GDK_dead_aboveverticalline 0xfe91
#define GDK_dead_belowverticalline 0xfe92
#define GDK_dead_longsolidusoverlay 0xfe93
#define GDK_dead_a 0xfe80
#define GDK_dead_A 0xfe81
#define GDK_dead_e 0xfe82
@@ -2279,6 +2283,10 @@
#define GDK_TouchpadOn 0x1008ffb0
#define GDK_TouchpadOff 0x1008ffb1
#define GDK_AudioMicMute 0x1008ffb2
#define GDK_Keyboard 0x1008ffb3
#define GDK_WWAN 0x1008ffb4
#define GDK_RFKill 0x1008ffb5
#define GDK_AudioPreset 0x1008ffb6
#define GDK_Switch_VT_1 0x1008fe01
#define GDK_Switch_VT_2 0x1008fe02
#define GDK_Switch_VT_3 0x1008fe03

View File

@@ -283,6 +283,10 @@
#define GDK_KEY_dead_invertedbreve 0xfe6d
#define GDK_KEY_dead_belowcomma 0xfe6e
#define GDK_KEY_dead_currency 0xfe6f
#define GDK_KEY_dead_lowline 0xfe90
#define GDK_KEY_dead_aboveverticalline 0xfe91
#define GDK_KEY_dead_belowverticalline 0xfe92
#define GDK_KEY_dead_longsolidusoverlay 0xfe93
#define GDK_KEY_dead_a 0xfe80
#define GDK_KEY_dead_A 0xfe81
#define GDK_KEY_dead_e 0xfe82
@@ -2288,6 +2292,10 @@
#define GDK_KEY_TouchpadOn 0x1008ffb0
#define GDK_KEY_TouchpadOff 0x1008ffb1
#define GDK_KEY_AudioMicMute 0x1008ffb2
#define GDK_KEY_Keyboard 0x1008ffb3
#define GDK_KEY_WWAN 0x1008ffb4
#define GDK_KEY_RFKill 0x1008ffb5
#define GDK_KEY_AudioPreset 0x1008ffb6
#define GDK_KEY_Switch_VT_1 0x1008fe01
#define GDK_KEY_Switch_VT_2 0x1008fe02
#define GDK_KEY_Switch_VT_3 0x1008fe03

View File

@@ -835,18 +835,13 @@ static const struct {
/* Following items added to GTK, not in the xterm table */
/* A few ASCII control characters */
#ifndef GDK_WINDOWING_WIN32
{ 0xFF08 /* Backspace */, '\b' },
{ 0xFF09 /* Tab */, '\t' },
#endif
{ 0xFF0A /* Linefeed */, '\n' },
{ 0xFF0B /* Vert. Tab */, '\v' },
#ifndef GDK_WINDOWING_WIN32
{ 0xFF0D /* Return */, '\r' },
{ 0xFF1B /* Escape */, '\033' },
#endif
/* Numeric keypad */
@@ -871,9 +866,7 @@ static const struct {
/* End numeric keypad */
#ifndef GDK_WINDOWING_WIN32
{ 0xFFFF /* Delete */, '\177' }
#endif
};
/**

View File

@@ -644,6 +644,16 @@ gdk_offscreen_window_set_wmfunctions (GdkWindow *window,
{
}
static void
gdk_offscreen_window_begin_move_drag (GdkWindow *window,
GdkDevice *device,
gint button,
gint root_x,
gint root_y,
guint32 timestamp)
{
}
static void
gdk_offscreen_window_set_transient_for (GdkWindow *window,
GdkWindow *another)
@@ -754,7 +764,7 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass)
impl_class->get_decorations = NULL;
impl_class->set_functions = gdk_offscreen_window_set_wmfunctions;
impl_class->begin_resize_drag = NULL;
impl_class->begin_move_drag = NULL;
impl_class->begin_move_drag = gdk_offscreen_window_begin_move_drag;
impl_class->enable_synchronized_configure = gdk_offscreen_window_do_nothing;
impl_class->configure_finished = NULL;
impl_class->set_opacity = gdk_offscreen_window_set_opacity;

View File

@@ -288,6 +288,7 @@ gdk_pixbuf_get_from_surface (cairo_surface_t *surface,
if (cairo_surface_status (surface) || dest == NULL)
{
cairo_surface_destroy (surface);
g_clear_object (&dest);
return NULL;
}

View File

@@ -43,7 +43,8 @@ struct _GdkSeatDefaultPrivate
GDK_ENTER_NOTIFY_MASK | \
GDK_LEAVE_NOTIFY_MASK | \
GDK_PROXIMITY_IN_MASK | \
GDK_PROXIMITY_OUT_MASK)
GDK_PROXIMITY_OUT_MASK | \
GDK_TOUCHPAD_GESTURE_MASK)
G_DEFINE_TYPE_WITH_PRIVATE (GdkSeatDefault, gdk_seat_default, GDK_TYPE_SEAT)
@@ -396,6 +397,7 @@ gdk_seat_default_remove_slave (GdkSeatDefault *seat,
priv->capabilities |= device_get_capability (GDK_DEVICE (l->data));
gdk_seat_device_removed (GDK_SEAT (seat), device);
g_object_unref (device);
}
else if (g_list_find (priv->slave_keyboards, device))
{
@@ -405,6 +407,7 @@ gdk_seat_default_remove_slave (GdkSeatDefault *seat,
priv->capabilities &= ~GDK_SEAT_CAPABILITY_KEYBOARD;
gdk_seat_device_removed (GDK_SEAT (seat), device);
g_object_unref (device);
}
}

Some files were not shown because too many files have changed in this diff Show More