Commit Graph

594 Commits

Author SHA1 Message Date
Ondrej Holy
55751fc6fb Improve external drives detection
Use g_drive_is_removable for external drives detection. Current heuristic
fails in some cases (e.g. when removable drive is attached before login),
see Bug 765457.

Bump GLib version accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=765924
2016-05-20 10:40:14 +02:00
Javier Jardón
101da71ee3 Use upstream gettext
https://bugzilla.gnome.org/show_bug.cgi?id=373745
2016-05-16 20:46:19 +01:00
Chun-wei Fan
092cb9e202 GTK: Fix build for pre-C99 compilers
Some compilers we support, such as pre-2013 Visual Studio, does not support
for INIFINITY, log2() and exp2(), so check for exp2() and log2() during
configure, and use fallbacks for them and INIFINTY if they are not found.

https://bugzilla.gnome.org/show_bug.cgi?id=766207
2016-05-10 17:14:07 +08:00
Руслан Ижбулатов
3a095ad454 W32: support cairo library in non-standard locations
When checking for cairo_win32_surface_create_with_format in -lcairo,
temporarily put CAIRO_LIBS into LIBS so that AC_CHECK_LIB() can
find it in weird places like /usr/local/lib, where gcc would not look
on its own.

https://bugzilla.gnome.org/show_bug.cgi?id=765793
2016-04-29 15:56:54 +00:00
Руслан Ижбулатов
2655d929fe W32: reword the error about required cairo version
1.14.x series does not contain the functionality needed by GTK+.
Advise to use 1.15.x (1.15.2 is available) or 1.16.x (yet to be released).

https://bugzilla.gnome.org/show_bug.cgi?id=765790
2016-04-29 07:06:02 +00:00
Руслан Ижбулатов
026cb53875 win32: Port to new monitor api 2016-04-27 23:18:16 -04:00
Matthias Clasen
d0c4747bd3 3.21.1 2016-04-27 13:36:26 -04:00
Chun-wei Fan
9a87b6be2b MSVC builds: Update how introspection builds are done
This first adds a common autotools module that can be included by
the Makefile.am's to generate the file lists and the g-ir-scanner/
g-ir-compiler command lines to build the introspection files.

The autotools files for gdk/ and gtk/ are then updated to generate
the full file lists needed to build the introspection files, with
the full command lines for g-ir-scanner and g-ir-compiler as NMake
Makefile modules that can be used to build the introspection files
for Visual Studio builds.

https://bugzilla.gnome.org/show_bug.cgi?id=765195
2016-04-19 14:50:25 +08:00
Carlos Garnacho
d4d032795d build: Bump wayland-protocols dependency to 1.3
Needed for tablet support
2016-04-06 16:12:12 +02:00
Emmanuele Bassi
6267b6b6eb Bump to 3.21.0
Otherwise newly added API will start warning.
2016-03-29 16:24:14 +01:00
Matthias Clasen
447325b1e4 3.20.1 2016-03-24 22:43:27 -04:00
Matthias Clasen
06062028e2 3.20.0 2016-03-21 07:54:42 -04:00
Carlos Soriano
25b036ae93 configure.ac: bump version
So nautilus and other consumers of the sidebar can use the non
API-broken API of the sidebar.
2016-03-10 16:30:16 +01:00
Chun-wei Fan
5e00f5fdce Fix last commit
We need to drop the reference to it in configure.ac as well...
2016-03-02 16:53:27 +08:00
Matthias Clasen
2a8355f679 3.19.11 2016-03-01 23:25:56 -05:00
Matthias Clasen
97c1803c74 3.19.10 2016-02-24 07:26:45 -05:00
Chun-wei Fan
5962daef4f Windows: Update how gtk-win32.rc is generated
On Visual Studio, unlike MinGW, manifest files are embedded via
including the manifest file as a resource file in the projects, not
via the .rc file.  This means that the line in the .rc file that
specifies the manifest file would cause trouble, so that line gets
removed when the full gtk3-win32.rc is generated on Visual Studio builds,
otherwise 2010+ Visual Studio will complain when compiling the .rc file.
Also, the inclusion of winuser.h will cause warnings during the
compilation of the .rc file.

Fix this by isolating the Win32 resource portions of gtk-win32.rc.in to
gtk-win32.rc.body.in and:
-On MinGW, construct the full gtk-win32.rc by doing the winver.h and
 winuser.h inclusion first, then append the contents of gtk-win32.rc.body,
 and then appending the line to embed the manifest file.
-On Visual Studio, simply copy the gtk-win32.rc.body to gtk-win32.rc,
 and generate the full libgtk3.manifest file.

https://bugzilla.gnome.org/show_bug.cgi?id=762311
2016-02-22 17:40:17 +08:00
Matthias Clasen
1b36fbfc5e 3.19.9 2016-02-16 19:35:19 -05:00
Matthias Clasen
3b4aad7d26 3.19.8 2016-01-30 13:27:30 -05:00
Emmanuele Bassi
9267f73c55 Add more checks for the font features demo
The demo also uses PangoFt2 API.
2016-01-26 13:29:46 +00:00
Emmanuele Bassi
c8686f0c47 demo: Link against Harfbuzz
The font features demo started calling the Harfbuzz API directly
starting from commit 9de3b24c20. Harfbuzz
is an implicit dependency of Pango on some platforms, but it's not part
of the public dependencies; this means that we cannot expect to link to
Pango and automatically get Harfbuzz symbols to link against —
especially when things like --as-needed are in play.

This change triggered build failures on non-Unix platforms, fixed by
commit 2a9967731a, as well as build
failures in Continuous, with this error message:

/usr/lib/gcc/x86_64-gnomeostree-linux/4.9.3/../../../../x86_64-gnomeostree-linux/bin/ld:
font_features.o: undefined reference to symbol 'hb_tag_to_string'
//lib/libharfbuzz.so.0: error adding symbols: DSO missing from command
line
collect2: error: ld returned 1 exit status

In order to get the font features demo to build everywhere we should
take an explicit, though optional, check on Harfbuzz, and conditionally
build the font features demo with the right compiler and linker flags.
2016-01-26 11:46:48 +00:00
Kalev Lember
fef545c623 configure: Require wayland >= 1.9.91
Needed since commit 1045dda035
2016-01-20 13:00:10 +01:00
Matthias Clasen
02dabcfd2b 3.19.7 2016-01-19 09:19:32 -05:00
Matthias Clasen
d8c1e6db21 3.19.6 2016-01-08 18:29:58 -05:00
Matthias Clasen
905ab53c71 Add a test framework for CSS styles
This uses the same function for dumping CSS nodes and styles
as the CSS node test. It can be used to test aspects of inheritance
and matching, as well as initial values.

No actual tests yet.
2016-01-03 09:19:31 -05:00
Matthias Clasen
d2c1203ef1 Add a test framework for CSS nodes
No actual tests yet.
2016-01-03 09:19:30 -05:00
Руслан Ижбулатов
91bb91dbb9 Fix to compile for C libraries with no flockfile
Also use MS variant of flockfile, if available
(requires MSVCRT compatible with MSVCR90 or newer).
2015-12-30 21:57:29 +00:00
Matthias Clasen
6c91f5670c 3.19.5 2015-12-15 23:57:06 -05:00
Matthias Clasen
6f061b139d 3.19.4 2015-12-04 17:01:03 -05:00
Jonas Ådahl
912e79dbe2 wayland: Use pointer gestures protocol from wayland-protocols
Instead of having our own copy of the pointer gestures XML file, use
the one installed by wayland-protocols.

Since pointer gestures is an unstable protocol, it went through the
unstable protocol naming convention changes, which is reflected in this
commit.

https://bugzilla.gnome.org/show_bug.cgi?id=758634
2015-11-26 16:54:32 +08:00
Matthias Clasen
943b2e8da7 3.19.3 2015-11-23 20:56:29 -05:00
Matthias Clasen
5018e32cbe 3.19.2 2015-11-20 00:13:20 -05:00
Matthias Clasen
85a6f3c13e 3.19.1 2015-10-27 20:06:24 -04:00
William Hua
11ee4b40af mir: add mircookie as a dependency 2015-10-15 16:20:32 +01:00
Takao Fujiwara
a41f02f9b1 GtkIMContextSimple: Load locale compose tables dynamically.
Load /usr/share/X11/locale/$LOCALE/Compose and $HOME/.XCompose
dynamically.

https://bugzilla.gnome.org/show_bug.cgi?id=721120
2015-10-09 00:19:41 -04:00
Matthias Clasen
896f911ea1 Bump version to 3.19.0
Otherwise, internal use of new API causes deprecation warnings.
2015-10-03 22:42:12 -04:00
Matthias Clasen
edcdba6223 3.18.1 2015-10-03 00:01:04 -04:00
Matthias Clasen
294dd9757a 3.18.0 2015-09-21 22:02:14 -04:00
Benjamin Otte
a59ee09af8 configure: Don't put glib version flags into pc files
Use a different CFLAGS variable to carry them. I chose the DEBUG_FLAGS
because that's essentially what those flags are: debug helpers.
2015-09-21 21:58:05 +02:00
Benjamin Otte
7439a7efda widget-factory: Remove libcanberra support
GTK cannot depend on libcanberra-gtk which depends on GTK. This causes
a circular dependency and is especially neat if installed GTK is
different enough from uninstalled GTK.
2015-09-21 21:58:04 +02:00
Chun-wei Fan
9a4990f4ca MSVC Builds: "Add" Visual Studio 2015 Projects
"Add" Visual Studio 2015 projects by what we did before: Copy the Visual
Studio 2010 project files and replace the items in there as needed, as
the formats of the 2010 and 2015 projects are largely the same.
2015-09-15 19:59:14 +08:00
Chun-wei Fan
6423a02c55 MSVC Builds: Massive Rename of Projects
We need to rename the projects so that when these projects are added
into an all-in-one solution file that will build the GTK+ 2/3 stack,
the names of the projects will not collide with the GTK+-2.x ones,
especially as GTK+-2.x and GTK+-3.x are done to co-exist on the same
system.  This is due to the case that the MSVC projects are directly
carried over from the GTK+-2.x ones and was then updated for 3.x.

We still need to update the GUIDs of the projects, so that they won't
conflict with the GTK+-2.x ones.
2015-09-15 18:51:33 +08:00
Rico Tzschichholz
63fa0fd4e9 configure: Require glib >= 2.45.8
Needed since 29c799a1e7
2015-09-15 08:23:39 +02:00
Matthias Clasen
faeaa2f91e 3.17.9 2015-09-14 21:54:59 -04:00
Matthias Clasen
f114d9c824 Introduce G_ENABLE_CONSISTENCY_CHECKS
Use a separate G_ENABLE_CONSISTENCY_CHECKS define to guard internal
consistency checks that are applied unconditionally if they are enabled,
such as the widget invariants checking. Interactive debug spew that can
be triggered at runtime with the GTK_DEBUG environment variable is still
guarded by the G_ENABLE_DEBUG define.

The mapping from enable-debug levels to defines is as follows:

yes:     G_ENABLE_DEBUG G_ENABLE_CONSISTENCY_CHECKS
minimum: G_ENABLE_DEBUG G_DISABLE_CAST_CHECKS
no:      G_DISABLE_CAST_CHECKS G_DISABLE_ASSERT G_DISABLE_CHECKS
2015-09-09 06:32:46 -04:00
Matthias Clasen
0ef8ff7c3d 3.17.8 2015-09-02 07:15:57 -04:00
Matthias Clasen
a1b2e7c1c2 3.17.7 2015-08-17 22:16:22 -04:00
Christoph Reiter
b24ce67c46 Bump Pango requirement to 1.37.3
GTK+ now uses pango_attr_foreground_alpha_new, pango_attr_background_alpha_new,
PANGO_ATTR_FOREGROUND_ALPHA, PANGO_ATTR_BACKGROUND_ALPHA,
pango_renderer_set_alpha, pango_renderer_get_alpha, which were all added
after 1.37.2.
2015-08-16 08:25:16 +02:00
Matthias Clasen
dea3bb2690 3.17.6 2015-08-05 14:20:12 -04:00
Matthias Clasen
030aa540ef Fix x11-less build
We don't use pangoft2 at all in libgdk, but we are using it in libgtk
both under X and Wayland.
2015-07-26 00:35:25 -04:00
Matthias Clasen
62d785a6b7 Don't use libcanberra without X
libcanberra calls x11 backend functions, so we can't use it
when the x11 backend is disabled.
2015-07-25 23:22:04 -04:00
Matthias Clasen
bb0b54526f Use versioned deprecations more seriously
I invadvertendly introduced a dependency on a recent GLib recently,
by cherry-picking a fix that used new GLib API. This commit will
help catching such errors before release, by using the versioned
deprecation machinery to turn such events into build-time
warnings.
2015-07-21 17:49:08 -04:00
Matthias Clasen
e8a0e8f1b0 3.17.5 2015-07-21 00:19:10 -04:00
Matthias Clasen
f9422ab223 3.17.4 2015-06-23 17:27:43 -04:00
Matthias Clasen
c207b8d363 Bump Pango requirement
The font features demo that was just added uses bleeding-edge
pango features.
2015-06-19 09:33:39 -04:00
Alexander Larsson
94a149c8ea configure: test have_docbook_style != yes, not have_docbook_dtd 2015-06-17 17:35:32 +02:00
Rico Tzschichholz
291af4e359 configure: Require pango >= 1.37.0
Needed since 049cbc8b74
2015-06-02 17:11:08 +02:00
Matthias Clasen
a75754ef93 3.17.3 2015-05-27 17:19:56 -04:00
Matthias Clasen
fe6e5d3116 3.17.2 2015-05-26 14:58:15 -04:00
Dave Airlie
e670720d19 gtk3: add randr 1.5 monitor support
This patch introduces support for using the newly introduced
monitor objects in the XRandR protocol. These objects are meant
to be used to denote a set of rectangles representing a logical
monitor, and are used to hide details like monitor tiling and
virtual gpu outputs.

This uses the new objects instead of crtc/outputs objects when
they are available to create the monitor lists. X server 1.18
is required on the server side for randr 1.5.

https://bugzilla.gnome.org/show_bug.cgi?id=749561
2015-05-21 23:09:04 -04:00
Marco Trevisan (Treviño)
8084ebda14 configure.ac: Pull gio-unix dependency for all unix builds
It's now needed by gtk-launch, so it's just the case to enable it for all the
builds except the win32 one, instead of adding it for every unix backend.

https://bugzilla.gnome.org/show_bug.cgi?id=744086
2015-05-14 14:54:52 +02:00
Matthias Clasen
afa2bc8b8d Revert "Work around a pkg-config bug"
This reverts commit 57751fa391.

I've been told that this is not, in fact, a pkg-config bug,
but a pkg-config feature.
2015-05-10 01:06:31 -04:00
Matthias Clasen
d22f351e28 gtk-builder-tool: Add some tests 2015-05-02 17:39:06 -04:00
Руслан Ижбулатов
d44921a152 Enable RGBA windows on W32
Requires Vista and newer.

* Create surfaces with cairo_win32_surface_create_with_format
* Provide an rgba visual that can be distinguished from the system visual
* Make rgba visual the best available visual
* Enable alpha-transparency for all windows that we control
* Check for appropriate cairo capabilities at configure time
  (W32 - 1.14.3 newer than 2015-04-14; others - 1.14.0)

* Check for composition support before enabling CSDs
* Re-enable transparency on WM_DWMCOMPOSITIONCHANGED
Windows that were created while composition was enabled and that were CSDed
as a result and will look ugly (thick black borders or no borders at all) once
composition is disabled.
If composition is enabled afterwards, they will return back to normal.
This happens, for example, when RDP session is opened to a desktop where a GTK
application is running. For W7/Vista windows will only re-gain transparency after
the RDP session is closed. For W8 transparency will only be gone momentarily.

Windows that were created while composition was disabled will not be CSDed
automatically and will use SSD (WM decorations), while windows that are CSDed
manually will get a thin square border.
If composition is enabled afterwards, these windows will not change.
This is most noticeable for system menus (popup menus are often generated
on the fly, system menus are created once) and some dialogues (About dialogue,
for example).

https://bugzilla.gnome.org/show_bug.cgi?id=727316
2015-04-29 21:12:13 +00:00
Matthias Clasen
06984006a5 3.17.1 2015-04-29 06:54:08 -04:00
Daiki Ueno
b10d63c085 build: Avoid xgettext crash on MSYS2
isatty() on MSYS2 returns non-zero if the fd is stdout and is redirected
to /dev/null.  That lets xgettext to produce colorized output and leads
to an assertion failure during terminal type detection.

Although the problem should be fixed in MSYS2, isatty() could behave
wrongly in many ways on Windows.  Since gtk+ doesn't need colorized
output, it would be safer to bypass the terminal dependent code.

See also:
https://lists.gnu.org/archive/html/bug-gettext/2015-04/msg00004.html

https://bugzilla.gnome.org/show_bug.cgi?id=748346
2015-04-27 06:31:03 -04:00
Chun-wei Fan
b85f0ccc67 gdk-win32: Really Implement GdkScreen->is_composited()
The current GdkScreen->is_composited() is a stub as we were having Windows
XP being supported, which does not support Desktop Window Manager (DWM),
which is used by Windows for composition.

Windows Vista and later support DWM, and it is always enabled on Windows 8/
Server 2012 and later.

Please note that as we are dropping XP support in this cycle, this is the
commit that would say goodbye to Windows XP support for GTK+-3.x, by
linking directly to dwmapi.dll.  This means, we only check whether we are
on Windows 8 or Server 2012 (or later) to see whether we unconditionally
have composition enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=741849
2015-04-17 11:23:53 +08:00
Daniel van Vugt
7c79c01a51 configure: specify that mir backend needs gio-unix 2015-04-15 14:37:13 +02:00
Antoine Jacoutot
ae430b1b80 make libcanberra support optional
Make it possible to control libcanberra support so we don't risk ending up with
a cyclic dependency when using packages: gtk+ -> libcanberra-gtk3 -> gtk+

https://bugzilla.gnome.org/show_bug.cgi?id=746904
2015-03-28 18:38:24 -04:00
Matthias Clasen
c16acff3ea Start 3.17 development
Bump the version to 3.17.0 and add version macros.
2015-03-22 02:10:23 -04:00
Matthias Clasen
88a5959b22 3.15.12 2015-03-16 22:35:45 -04:00
Matthias Clasen
1349b0f72d 3.15.11 2015-03-12 08:11:03 -04:00
Matthias Clasen
4938aa9c6b Modernize the xReply check
Using AC_CHECK_TYPE instead of AC_TRY_COMPILE avoids compiler
warnings from -Werror.

https://bugzilla.gnome.org/show_bug.cgi?id=535929
2015-03-07 18:25:57 -05:00
Matthias Clasen
17bc7aaefd Check for existence of sincos
It apparently doesn't exist everywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=745578
2015-03-04 06:30:13 -05:00
Matthias Clasen
32c0c6fee0 3.15.10 2015-03-02 20:58:01 -05:00
Matthias Clasen
238cdd5e37 Avoid stray output from configure
The new xgettext check was leaving a messages.po file behind.
2015-03-02 20:58:01 -05:00
Matthias Clasen
c951740cf9 Add a configure check for new enough gettext
Check that xgettext understands glade files.
2015-02-26 19:00:24 -05:00
Matthias Clasen
5840c931b3 Stop building extract-strings
It is no longer needed.
2015-02-26 16:54:16 -05:00
Matthias Clasen
ff0aabe576 3.15.9 2015-02-24 20:38:33 -05:00
Matthias Clasen
415ab252f4 3.15.8 2015-02-20 09:14:41 -05:00
Matthias Clasen
99a6495d6c Bump version
So apps can require 3.15.7 for new api.
2015-02-13 08:51:28 -05:00
Marco Trevisan (Treviño)
8a52ace8de configure.ac: bump mirclient dependency to 0.11 2015-02-12 02:20:24 +01:00
Matthias Clasen
b9f710217f Bump glib requirement
Needed for g_autoptr.
2015-02-10 20:15:58 -05:00
Matthias Clasen
295ac9135f Bump version 2015-02-10 18:04:15 -05:00
Emmanuele Bassi
4b173fcde9 Bump version to 3.15.5
We need the bump in order to allow projects to depend on newly added
API.
2015-02-02 16:51:14 +00:00
Matthias Clasen
da163469f9 3.15.4 2015-01-20 08:18:03 -05:00
Matthias Clasen
a29c831f3c Remove an unused define 2015-01-11 15:14:55 -05:00
Matthias Clasen
ff97f236c7 3.15.3 2014-12-15 10:27:49 -05:00
Matthias Clasen
042117b7bf Add epoxy to GTK_PRIVATE_PACKAGES
We are using epoxy api in GtkGLArea, so we need to link against it.

https://bugzilla.gnome.org/show_bug.cgi?id=740162
2014-12-04 23:28:33 -05:00
Matthias Clasen
32e8c39ffd Move print preview command to gtksettings.c
Having this in the source seems more appropriate.
2014-11-30 23:43:52 -05:00
Matthias Clasen
9e1187135e Move print backend list to configure.ac
We already juggle the print backends here, might as well
produce the list.
2014-11-30 23:43:52 -05:00
Matthias Clasen
655c75cab7 Drop gtk-update-icon-cache complications
gtk-update-icon-cache is no longer used at build time, so a lot
of the complicated machinery we have around that (conditional
build, cross build, etc) are no longer required.
2014-11-30 23:43:52 -05:00
Matthias Clasen
603b49814f Generate README and INSTALL from configure 2014-11-30 19:24:07 -05:00
Matthias Clasen
383d5b137b inspector: Build nonrecursively 2014-11-30 16:11:56 -05:00
Matthias Clasen
8d6d73e8d9 Bump version 2014-11-23 20:34:26 -05:00
Robert Ancell
5ff39b207b mir: Require mirclient >= 0.9.0
Recent changes to the Mir backend require an unreleased version.
2014-11-17 10:49:13 +13:00
Javier Jardón
710f332082 configure.ac: Depend on cairo 1.14.0
This is needed for cairo_set_device_scale()
2014-11-10 15:12:17 +00:00
Matthias Clasen
d58c750db5 Bump atk dep
Needed for ATK_STATE_HAS_TOOLTIP.
2014-10-28 08:08:49 -04:00
Matthias Clasen
168a49426e Update for 3.15.1 2014-10-27 20:03:51 -04:00
Rico Tzschichholz
86ff51b842 configure: wayland-egl drop version since it is part of mesa not wayland 2014-10-23 14:29:45 +02:00