Commit Graph

75407 Commits

Author SHA1 Message Date
Carlos Garnacho
b686ce1cb6 gdk/x11: Invalidate whole surface after size change
The Expose events following a ConfigureNotify may arrive at
a time that we did not resize the surface yet, making these
expose events a no-op. Even though gsk/gtk take care of the
window content itself, this might lead to unrendered portions
of the window shadow.

This may be seen with GSK_RENDERER=cairo and GDK_BACKEND=x11,
attempting to tile a window (e.g. gtk4-demo) left or right.
The window will show black rectangles or other artifacts in
the window shadow areas that correspond to the newly painted
portions (as the window needs to expand vertically).

In order to fix this with a similar behavior to Wayland,
consider ourselves the whole surface invalidated after resize,
in order to ensure everything is painted from scratch.

(cherry-picked from commit 24302315fb)
2023-05-04 19:03:58 +02:00
Danial Behzadi
954011ef80 Update Persian translation 2023-05-03 09:00:53 +00:00
Matthias Clasen
3fe1fb4930 Merge branch 'backport-css-fix-to-gtk-4-10' into 'gtk-4-10'
Backport "css: Don't transition to currentColor" to gtk-4-10

See merge request GNOME/gtk!5911
2023-05-02 22:21:09 +00:00
Benjamin Otte
966a23503a css: Don't transition to currentColor
Transition to the color that is in use instead.

Fixes crashes because currentColor is not an RGBA color and
therefor could not be queried later.

Fixes #5798
2023-05-02 21:18:52 +02:00
Boyuan Yang
d2490c30b1 Update Chinese (China) translation 2023-04-28 18:46:49 +00:00
Kukuh Syafaat
ada4272aa9 Update Indonesian translation 2023-04-28 05:33:27 +00:00
Matthias Clasen
4a187d7f1d Merge branch 'cherry-pick-c5a53f23' into 'gtk-4-10'
Merge branch 'wip/otte/trelistmodel-fixage' into 'main'

See merge request GNOME/gtk!5873
2023-04-27 08:57:59 +00:00
Matthias Clasen
4f47683710 Merge branch 'wip/otte/trelistmodel-fixage' into 'main'
treelistmodel: Don't add items in reverse

Closes #5707

See merge request GNOME/gtk!5744

(cherry picked from commit c5a53f235a)

1718db14 treelistmodel: Don't add items in reverse
cd860beb Add a test for splicing treelistmodel
2023-04-26 10:31:58 -04:00
Fran Dieguez
7470bc01f2 Update Galician translation 2023-04-25 23:22:20 +00:00
Sabri Ünal
e2784e81cc Update Turkish translation 2023-04-23 21:12:30 +00:00
Anders Jonsson
5a110c1bdd Update Swedish translation 2023-04-23 09:58:47 +00:00
Yuri Chornoivan
003a9c7e07 Update Ukrainian translation 2023-04-22 18:19:13 +00:00
Aleksandr Melman
68fe4fb0a8 Update Russian translation 2023-04-22 12:20:35 +00:00
Matthias Clasen
80f74a8e37 Post-release version bump 2023-04-22 12:38:20 +02:00
Matthias Clasen
06b3ced8e7 4.10.3 2023-04-22 12:33:35 +02:00
Matthias Clasen
3730fd4632 Merge branch 'cherry-pick-0ce6bc67' into 'gtk-4-10'
filesystemmodel: Emit items-changed when modifying attributes

See merge request GNOME/gtk!5860
2023-04-22 10:19:35 +00:00
Piotr Drąg
be2b12f904 Update Polish translation 2023-04-22 11:16:08 +02:00
Martin
b351c10dae Update Slovenian translation 2023-04-22 07:35:34 +00:00
Matthias Clasen
30f2bf9761 Merge branch 'fix-popover-positioning-4-10' into 'gtk-4-10'
popover: Fix positioning

See merge request GNOME/gtk!5859
2023-04-22 06:59:59 +00:00
Olivier Crête
2a0d111505 filesystemmodel: Emit items-changed when modifying attributes
(cherry picked from commit 0ce6bc677e)
2023-04-22 02:44:10 -04:00
Matthias Clasen
3bba2dbb9d popover: Fix positioning 2023-04-22 08:39:43 +02:00
Hugo Carvalho
5bc3284dd8 Update Portuguese translation 2023-04-21 14:30:47 +00:00
Matthias Clasen
5377bd0422 Post-release version bump 2023-04-21 16:28:00 +02:00
Matthias Clasen
3b24fc7a07 4.10.2 2023-04-21 16:23:22 +02:00
Matthias Clasen
0bf8a39177 Move some nonworking reftests to xfail
A few of the inscription reftests have been failing since 4.10.1.
Move them to xfail until somebody shows up to fix them.
2023-04-21 16:23:22 +02:00
Ekaterine Papava
7a4b3faec6 Update Georgian translation 2023-04-21 13:53:46 +00:00
Matthias Clasen
f0f1228982 Merge branch 'backports-for-4-10' into 'gtk-4-10'
Accumulated backports for 4.10

This branch has my cherry-picks from main since we branched after 4.10.1.
Two inscription reftests are failing, but they were also failing before.

See merge request GNOME/gtk!5856
2023-04-21 07:58:08 +00:00
Marc-André Lureau
b03f21193b gdk/win32: drop some unused variables
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2023-04-21 09:29:12 +02:00
Marc-André Lureau
4e305e215b gdk: drop libangle GLES minimum version
GLES 2.0 version is fine now with current gtk according to B. Otte.
Let's use the same minimum requirement for all implementations.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2023-04-21 09:28:59 +02:00
Marc-André Lureau
3f29f65396 gdk: use GLES when on win32/ANGLE
When using GDK_DEBUG=gl-egl, we end up using GL, but that is not well supported:

Creating EGL context version 3.0 (debug:no, forward:no, legacy:yes, es:no)
Created EGL context[0000000000000004]
OpenGL version: 0.0 (legacy)
* GLSL version: (NULL)
* Max texture size: -1059701680
* Extensions checked:
 - GL_KHR_debug: no
 - GL_EXT_unpack_subimage: yes
 - OES_vertex_half_float: no

** (gtk4-demo.exe:14324): WARNING **: 19:16:41.468: Compile failure in
vertex shader:
ERROR: 0:7: 'gl_Position' : undeclared identifier
---8<---

Use GLES when EGL implementation is ANGLE.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2023-04-21 09:28:51 +02:00
Marc-André Lureau
d55d3fc3fe gdk: drop unused vertex_array_object
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2023-04-21 09:28:40 +02:00
Benjamin Otte
fe9096a959 glrenderer: Don't try to use float framebuffers on GLES2
GLES doesn't know what that is.
2023-04-21 09:27:33 +02:00
Matthias Clasen
91ca51222a testsuite: Skip focus tests when necessary
If our window does not get focus, we can't reliably
test things that depend on widgets being focused.
2023-04-21 09:27:08 +02:00
Matthias Clasen
f0560c8cdb Try harder to fix focus tests
The focus test now asserts that its window is active.
So we should not run them in parallel with other tests,
since those might steal the focus.
2023-04-21 09:26:59 +02:00
Benjamin Otte
8178465c1a testsuite: Fix broken test to not unref surfaces twice
The test doesn't hold 2 references, it holds only one.

The reason one unref can cause a leak is that some backends - like X11 -
only destroy the surface once the DestroyNotify event from the X server
has come in.
2023-04-21 09:26:46 +02:00
Benjamin Otte
555c7e9ee2 wayland: Don't leak all surfaces
X11 does add an extra reference to surfaces that gets released when the
DestroyNotify event arrives.
Wayland doesn't ave such an event, so that reference never gets
released.

This fixes a copy/paste error introduced in commit 590f3dfa1f.
2023-04-21 09:26:23 +02:00
Benjamin Otte
79d8220908 wayland: Don't insta-crash when a surface gets disposed
We want to remove the event queue from the list of event queues, not the
surface.
Otherwise the freed queue stays in the list and the next time an event
comes in, we access invalid memory.

Fixes thinko introduced in commit 7fafa5133b.

Luckily, we leak all surfaces, so this problem never occured.
2023-04-21 09:23:26 +02:00
Matthias Clasen
7417d30a1f testsuite: Actually wait for focus
We were failing to properly iterate the main
context here. Oops.
2023-04-21 09:23:02 +02:00
Matthias Clasen
f492e37354 tests: Check is-focus instead of has-focus
We are not presenting windows here.
2023-04-21 09:22:56 +02:00
Matthias Clasen
22ff7bceff text: Fix fallout from focus changes
We don't get proper notification for when the toplevel
is-active property changes, so monitor has-focus, and
update cursor blinking.
2023-04-21 09:22:42 +02:00
Cam Cook
116324e21c | method | current | suggestion |
|---------------------------------------------------------------------------------------|-----------------------------------------------------------------|----------------------------------------------------------------------|
| [get_attributes](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3242) | "use`pango_layout_get_attribute (gtk_label_get_layout (self))`" | "use`pango_layout_get_attributes (gtk_label_get_layout (self))`" [1] |
| [set_yalign](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L5897)     | "(attributes org.gtk.Method.get_property=yalign)"               | "(attributes org.gtk.Method.set_property=yalign)"                    |
| [get_yalign](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L5923)     | "(attributes org.gtk.Method.set_property=yalign)"               | "(attributes org.gtk.Method.get_property=yalign)"                    |
| [set_ellipsize](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3892)  | "to ellipsizei"                                                 | "to ellipsize"                                                       |
| [get_attributes](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3239) | "from the labels markup"                                        | "from the label's markup"                                            |

[1] https://docs.gtk.org/Pango/method.Layout.get_attributes.html
2023-04-21 09:22:29 +02:00
Cam Cook
f9810d76ae | method | current | suggestion |
|-------------------------------------------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------|
| [Entry/set_invisible_char](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2101) | "(attributes org.gtk.Method.sets_property=invisible-char)" | "(attributes org.gtk.Method.set_property=invisible-char)" |
| [FlowBox::activate](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkflowbox.c#L541)       | "This can be happen either by"                             | "This can happen either by"                               |
2023-04-21 09:22:14 +02:00
Benjamin Otte
8b8f493bba gles: Don't use vertex array objects
They're not needed and GLES doesn't technically support them, even
though GTK had been using them via epoxy sneakily using the
GL_OES_vertex_array_object extension behind our back.
2023-04-21 09:21:10 +02:00
Matthias Clasen
2634e2b74b text: Only claim primary when focused
It does not make sense otherwise, and has unfortunate
side-effects on Wayland.
2023-04-21 09:20:58 +02:00
Matthias Clasen
56503cd623 wayland: Improve logging for primary selection 2023-04-21 09:20:53 +02:00
Matthias Clasen
47070e5663 window: Don't mark widget prematurely as has-focus
has-focus is defined is-focus && toplevel::is-active.
We were forgetting to look at is_active when handling
focus widget changes.
2023-04-21 09:20:44 +02:00
Marco Trevisan (Treviño)
8c1e61d54c gtk: Improve documentation on returned nodes for snapshot
Closes: #5747
2023-04-21 09:20:08 +02:00
Matthias Clasen
d9fbcdb82e openuriportal: Detect if the interface isn't there
Check the portal version number before trying to use
it. Most importantly, this will detect the case where
the interface isn't supported at all, since the proxy
will report a version of 0 in that case.

Fixes: #5733
2023-04-21 09:17:39 +02:00
Alexander Mikhaylenko
439dec9a54 printunixdialog: Remove a redundant style class
.view does absolutely nothing in Default style since the whole box is
covered with a GtkNotebook which has its own background, and adds an
unwanted background onto the tab strip in Adwaita.
2023-04-21 09:17:18 +02:00
Marco Trevisan (Treviño)
e63a066ced gtk/dialogs: Destroy the window promptly on finish async function
Some bindings (GJS!) could add temporary references to the GAsyncResult
argument that we return, and thus to the GTask, which may cause the
dialog not to close when the finish function is called (but at garbage
collection instead!).

To prevent this, just manually destroy the window (by removing the task
data), so that we are not bound to the GTask lifetime anymore.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5741
2023-04-21 09:17:07 +02:00