Commit Graph

51493 Commits

Author SHA1 Message Date
Matthias Clasen
77f465bf19 Merge branch 'terminal-3-24' into 'gtk-3-24'
imwayland: Suppport terminal purpose

See merge request GNOME/gtk!1245
2019-12-12 19:12:34 +00:00
Dorota Czaplejewicz
c7c8ab6624 imwayland: Suppport terminal purpose 2019-12-12 18:20:06 +00:00
Christoph Reiter
3fe6c5caf8 Merge branch 'honor-hotspot' into 'gtk-3-24'
x11: Honor hotspot during drag cancel animation

See merge request GNOME/gtk!1235
2019-12-11 12:59:36 +00:00
John Ralls
235d28f02d Fix visibiity of gdkselection-quartz.c exported gtk-only functions.
Also ensure that gdkquartz-gtk-only.h is included in distribution
tarballs.

Failing to include gdkquartz-gtk-only.h in gdkselection-quartz.c
caused the compiler to not set the extern storage class on the
functions, in turn causing them to be not exported by libgdk-3.0.dylib.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/32 again.
2019-12-10 21:46:59 -08:00
John Ralls
ee448db031 Force the loadable module suffix on the print backend modules.
On MacOS the shared library and loadable module suffix is different.
While dlopen will load a shared module just fine, Gtk's loader and
query tools don't know to look for them so it's important to give
loadable modules the .so suffix.
2019-12-10 21:46:59 -08:00
Robert Mader
a3cff0add1 x11: Honor hotspot during drag cancel animation
Otherwise the icon "jumps" to the cursor position with its top left when
the animation starts.
This is especially visible if the dragged item is big, like when dragging
mails in Thunderbird.
2019-12-09 01:22:11 +01:00
Mohammed Sadiq
2fc60a1e3f switch: Fix toggling switch on touch devices
priv->is_switch is used to get hint if the gesture happened
on the switch. On touch devices, ::enter-notify-event may
not be emitted, and so priv->is_switch may not be set.

Let it be set when ::pressed gesture is emitted so that
the switch is toggled when the gesture occurs regardless
of whether a pointing device is present or not.
2019-12-06 20:16:51 +05:30
Emmanuele Bassi
c1146db2fe Merge branch 'issue-1077-backport' into 'gtk-3-24'
Annotate GtkTreeModelSort.new_with_model() appropriately

See merge request GNOME/gtk!1229
2019-12-03 16:22:41 +00:00
LutzLue
e3247ed0d9 Annotate GtkTreeModelSort.new_with_model() appropriately
The new_with_model() method is a constructor, and it returns a GtkTreeModelSort
instance, even if the C API returns a GtkTreeModel for the convenience of C
developers.

Fixes: #1077
2019-12-03 16:02:45 +00:00
Matthias Clasen
d5397dfb31 Merge branch 'wip/exalm/popover' into 'gtk-3-24'
Adwaita: use transparent borders for popovers

See merge request GNOME/gtk!1227
2019-12-02 20:41:03 +00:00
Alexander Mikhaylenko
379669b153 Adwaita: use transparent borders for popovers
Do the same thing as menus and windows do already.
2019-12-02 21:54:37 +05:00
Matthias Clasen
06d1cf5e52 Merge branch 'wip/muktupavels/opaque-region' into 'gtk-3-24'
window: fix opaque region

See merge request GNOME/gtk!1221
2019-12-01 15:11:52 +00:00
Matthias Clasen
8b789993c3 Merge branch 'fix-backdrop-flat-button-styling' into 'gtk-3-24'
Adwaita: Fix some backdrop flat buttons

See merge request GNOME/gtk!1224
2019-12-01 15:08:44 +00:00
Thomas Holder
af6487d70c gdk: quartz: fix #2102 consumed_modifiers 2019-12-01 15:14:20 +01:00
nana-4
f26b9c9f9f Adwaita: Fix some backdrop flat buttons
The commit 6f6070b5 broke the styling.

This fixes it by adding a missing placeholder selector.
2019-12-01 13:06:32 +09:00
Alberts Muktupāvels
44c994e469 window: fix opaque region
Decoration node for drawing is used only for client side decorated
windows, but corners from opaque region is subtracted also for
normal windows.

Rename function to better reflect what it does and do not subtract
corners if decoration node was not used for drawing.
2019-11-30 19:53:40 +02:00
Timm Bäder
77e3ee88bd Merge branch 'dont-color-labels-directly-gtk3' into 'gtk-3-24'
Adwaita: Avoid directly coloring labels wherever possible (GTK3)

See merge request GNOME/gtk!1210
2019-11-29 11:55:06 +00:00
Timm Bäder
25174154b9 reftests: Fix css-multi-state test
Properly unset theme CSS and use the right selector for the toggle
buttons.
2019-11-29 20:35:06 +09:00
nana-4
ebde8349cb Adwaita: Avoid directly coloring labels wherever possible
Directly coloring labels can create a lot of unintended behaviors.
Unfortunately we can't avoid directly coloring `label:disabled` because
it can be used individually. This, however, tries to inherit color from
the parent element of labels wherever possible.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1643
2019-11-29 00:46:20 +09:00
Jakub Steiner
b1bf354ade Merge branch 'sass-no-extend-compound-complete' into 'gtk-3-24'
themes: Remove remaining @extend with compound selectors

See merge request GNOME/gtk!1218
2019-11-28 15:05:49 +00:00
nana-4
f7d57cc1eb themes: Remove remaining @extend with compound selectors
This removes the remaining cases in 6f6070b5 by replacing them with a
simple placeholder selector.

`%button.flat.suggested-action` has been replaced by
`%selection_mode_button_flat`, because it's difficult to replace the
compound selector with a simple placeholder selector, and it doesn't
seem like a proper selector for `.selection-mode button.titlebutton` to
inherit.

The CSSs were generated with libsass 3.5.5 to minimize the git diff, but
I've confirmed that no warning happned with libsass 3.6.3 anymore.

See https://gitlab.gnome.org/GNOME/gtk/issues/2237
2019-11-28 22:21:23 +09:00
Matthias Clasen
f737908d2f Fix a11y test output 2019-11-27 13:16:22 -05:00
Matthias Clasen
e4b4305cf1 3.24.13 2019-11-27 10:12:24 -05:00
Matthias Clasen
f0002ad372 Merge branch 'no-objc' into 'gtk-3-24'
Hide Objective-C from outside GdkQuartz.

See merge request GNOME/gtk!641
2019-11-27 13:39:40 +00:00
Matthias Clasen
61d7700c17 Merge branch 'gtkq-events' into 'gtk-3-24'
gdk: quartz: prevent titlebar events from falling to the window below

See merge request GNOME/gtk!1140
2019-11-27 13:31:39 +00:00
Matthias Clasen
540d849a52 Merge branch 'pg_up_down' into 'gtk-3-24'
gdk: quartz: Avoid page up/down getting filtered by gtk_im_context_filter_keypress()

See merge request GNOME/gtk!1148
2019-11-27 13:25:36 +00:00
Matthias Clasen
56875730d1 Merge branch 'win32-gl-fullscreen-workaround-gtk3' into 'gtk-3-24'
gdkwindow-win32.c: Set WS_BORDER for fullscreen GL windows if requested

See merge request GNOME/gtk!648
2019-11-27 13:16:21 +00:00
Matthias Clasen
9d3e3eea7a Merge branch 'sass-no-extend-compound' into 'gtk-3-24'
themes: remove various @extend with compound selectors

See merge request GNOME/gtk!1171
2019-11-27 13:03:45 +00:00
Matthias Clasen
a8ce096bf8 Merge branch '1630-on3-24branch' into 'gtk-3-24'
Avoid Broadwayd - GtkEntry popup takes 35s after application startup

See merge request GNOME/gtk!1205
2019-11-27 13:00:33 +00:00
Matthias Clasen
19f59cac3d Merge branch 'clipboard-image-miss' into 'gtk-3-24'
GDK W32: no "GDK_SELECTION" event for clipboard

See merge request GNOME/gtk!1198
2019-11-27 12:57:25 +00:00
Matthias Clasen
31f5e8fe32 Merge branch 'fix-issue-1646' into 'gtk-3-24'
HighContrast: Add missing color to entry

See merge request GNOME/gtk!1214
2019-11-27 12:45:56 +00:00
nana-4
7564e43a6a HighContrast: Add missing color to entry
So entries don't inherit color from the parent element anymore.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1646
2019-11-27 20:58:15 +09:00
Matthias Clasen
5e8d4757d4 Merge branch 'jjardon/wayland' into 'gtk-3-24'
deprecated/gtkstatusicon.c: Fix compilation in wayland

See merge request GNOME/gtk!1207
2019-11-24 18:24:16 +00:00
Javier Jardón
c6792a41ab deprecated/gtkstatusicon.c: Fix compilation in wayland
Without this compilation in a wayland-only system fails
2019-11-24 14:33:26 +09:00
Alexandr Miloslavskiy
1efb72210d Fix crash in parse_border()
The bug was introduced in commit:
	9b7640b8 by Benjamin Otte, 2012-03-26 17:24:02
	styleproperty: Make _gtk_style_property_parse_value() return a CssValue

In that commit, `values` changed from `GValue*` to `GtkCssValue**`,
but one `!G_IS_VALUE (&values[8])` was left untouched. As a result,
if `border` shorthand contains anything after color, it might crash,
depending on memory layout.

New test included.

Fixes: #751
2019-11-23 18:06:31 +01:00
Christoph Reiter
3804d7a0ca Merge branch 'cherry-pick-f431e28c' into 'gtk-3-24'
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11

See merge request GNOME/gtk!1206
2019-11-23 08:14:36 +00:00
Quentin Glidic
45bcc89a01 gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11
Unlike what commit d01ea18dc3 says, X11 is
not a requirement for Wayland, so a Wayland-only build is possible. We
just use the same logic as other non-X11 platforms.

https://bugzilla.gnome.org/show_bug.cgi?id=784615

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>


(cherry picked from commit f431e28ce3)
2019-11-23 06:33:39 +00:00
Christoph Reiter
4d34e1cfec CI/msys2: Don't install sassc to skip CSS generation and make job errors fatal again
Once #2237 is fixed we can install sassc again, until then use the in-tree CSS.
2019-11-22 18:22:30 +01:00
Christoph Reiter
6f6070b510 themes: remove various @extend with compound selectors
They are no longer supported by sass and broken with libsass 3.6.3
(https://github.com/sass/libsass/issues/3033)

This removes some of them by replacing them with a placeholder selector.
This at least brings the resulting CSS size down a bit so gtk can be build
again.

The remaining cases I don't know how to convert because I haven't found a way to
reproduce the old output.

The CSS was generated with libsass 3.5.5.

See #2237
2019-11-22 17:54:30 +01:00
Christoph Reiter
39ef5e40d0 HighContrast: rebuild included CSS
afd61c3570 changed the scss but didn't sync the css
2019-11-22 17:49:23 +01:00
Fredy Paquet
edd490cf4d Avoid Broadwayd - GtkEntry popup takes 35s after application startup
preventing conversion attempt and timer being started on broadway
backend.

first iteration for #1630

Author:    Fredy Paquet <fredy@opag.ch>
Signed-off-by: Aurélien Pupier <apupier@redhat.com>
2019-11-22 14:37:53 +01:00
Christoph Reiter
f76208808b Merge branch 'reftest.msvc.fix' into 'gtk-3-24'
reftests: Fix building on Visual Studio

See merge request GNOME/gtk!1203
2019-11-22 12:20:52 +00:00
Chun-wei Fan
11e5f2c473 gdkwindow-win32.c: Set WS_BORDER for fullscreen GL windows if requested
With some GL drivers, it may be the case that menus are not shown
correctly in fullscreen GL windows because DWM is deactivated in the
process.

Force WS_BORDER to be applied to the fullscreen GL window so that we have
a small 1px border when needed (by setting an envvar), so that DWM does
not get deactivated, hence enabling the menus to show.  Also, when we
force WS_BORDER to be applied in this situation, we also deliberately
place the window just outside the top lefthand corner of the screen by
1px and make the window 1px larger than the screen size, so that we
effectively hide the 1px border from view.

Fixes issue #1702.
2019-11-22 12:04:21 +08:00
Chun-wei Fan
36edb5fbf6 reftests: Fix building on Visual Studio
We need to mark the prototypes in the headers so that they get exported
properly from the reftest DLLs that we build, so that the reftest DLLs
and program will link properly.  Include gtk-reftest.h in
reftest-snapshot.c so that the compiler picks up the export directives
as needed.
2019-11-22 11:43:35 +08:00
Christoph Reiter
1a87249d1a Merge branch 'dont-hardcode-shared-library-3.24' into 'gtk-3-24'
Dont hardcode shared library (gtk3)

See merge request GNOME/gtk!1196
2019-11-19 19:58:02 +00:00
Руслан Ижбулатов
6452d34cd7 GDK W32: no "GDK_SELECTION" event for clipboard
_gdk_win32_display_convert_selection() does not return anything,
it generates a selection notify event instead. Depending on how
successful it was, the event will have property=GDK_NONE or
property="GDK_SELECTION".

property="GDK_SELECTION" is the default return value for successful
cases, and it tells GTK to grab the data that GDK previously deposited
using selection_property_store().

The problem is that the clipboard branch of this function calls
open_clipboard_timeout(), which can't return anything meaningful (it's
normally a timeout function), and thus doesn't know whether the function
succeeded or failed. Due to my oversight, this resulted in GDK
generating two selection notification events - one from inside of
open_clipboard_timeout() (with the right property, if successful),
and one from the catch-all last line (always defaulting to "GDK_SELECTION").

This caused issue #2223, where GTK only expected exactly one
notification per request, and got confused because it was getting two.

I've looked at the code in open_clipboard_timeout(), and it seems to me
that it always generates a notification (a successful one or an
unsuccessful one). Thus the branch of the function that calls it
directly does not need to follow up with a catch-all notification and
can just return.

This seems to be fixing issue #2223, at least for me, but i'm not
entirely sure that this will not have any adverse side-effects.
Clipboard handling in GTK3 is a complicated mess.
2019-11-18 13:43:42 +00:00
Niklas Hambüchen
656adece00 Try building static libs on CI
See #2248.

Cherry-Picked-From: 3936412332
2019-11-18 03:36:03 +01:00
Niklas Hambüchen
d5457d1b14 build: Don't hardcode shared_library() in meson.
Instead, use the standard library().
This is a meson best practice.

Fixes #2248.

Fixes -Ddefault_library=static not having any effect.

Cherry-Picked-From: bb9c07d8fe
2019-11-18 03:31:20 +01:00
Matthias Clasen
75475effb1 Merge branch 'issue-61' into 'gtk-3-24'
Ensure we have a client window before using it

See merge request GNOME/gtk!1194
2019-11-18 01:15:10 +00:00
Matthias Clasen
e11bdfabc0 Merge branch 'issue-2226' into 'gtk-3-24'
Ensure that cached surface sizes are 1x1

See merge request GNOME/gtk!1189
2019-11-18 00:53:37 +00:00