Lukáš Tyrychtr
3c7ca28f1f
dropdown: Handle expression changes
...
The expression is used by the default factory, so we
need to track whether we are using the default factory
and recreate it if the expression changes.
2023-06-28 08:18:01 +02:00
Matthias Clasen
25e518326c
Merge branch 'matthiasc/for-main' into 'main'
...
Plug a memory leak in gsk_render_node_serialize
See merge request GNOME/gtk!6155
2023-06-28 02:42:47 +00:00
Matthias Clasen
a853307fb7
ci: Ignore more leaks in dependencies
...
libxkbcommon shows up quite a bit in leak sanitizer
reports. Ignore it.
2023-06-27 22:08:22 -04:00
Matthias Clasen
0ae541671d
gsk: Plug a memory leak in mask node fallback
...
We were forgetting to free the mask pattern.
Found by asan.
2023-06-27 21:54:15 -04:00
Matthias Clasen
ef0d6c7290
gsk: Plug a memory leak in the gl renderer
...
Found by asan.
2023-06-27 21:52:08 -04:00
Matthias Clasen
2217509701
Plug a memory leak in gsk tests
...
Pointed out by asan.
2023-06-27 21:48:12 -04:00
Matthias Clasen
16e46a73f3
Plug a memory leak in gsk_render_node_serialize
...
This was introduced in 0d6a6a5997
with named
textures.
2023-06-27 21:43:17 -04:00
Christian Hergert
32a3690a3c
maplistmodel: implement GtkSectionModel
...
This just wraps the underlying GListModel if it is a GtkSectionModel.
2023-06-27 18:08:20 -07:00
Benjamin Otte
526771751f
Merge branch 'dboles/issue5922-DropTarget-reject-enter-critical' into 'main'
...
DropTarget: Fix critical if `reject()` drop before `::enter`
Closes #5922
See merge request GNOME/gtk!6152
2023-06-27 21:30:03 +00:00
Daniel Boles
dfa6591675
DropTarget: Fix critical if reject drop pre-enter
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5922
The docs of `Gtk.DropTarget::accept` say this:
> If the decision whether the drop will be accepted or rejected depends
> on the data, [`::accept`] should return `TRUE`, [`:preload`] should be
> set and the value should be inspected via the `::notify:value` signal,
> calling `gtk_drop_target_reject()` if required.
But this pattern causes a CRITICAL, given these steps:
* Create a `DragSource` and `DropTarget`
* Keep the default `::accept` handler and set `:preload` to `TRUE`
* Connect to `notify::value` and therein call `DropTarget.reject()`
* CRITICAL at `DropTarget.enter()`→`Drop.get_actions()` on NULL instance
We should let the documented case work without a CRITICAL or worse, null
deref. And per @otte on the bug, we should bail earlier before `::enter`
& setting `GTK_STATE_FLAG_DROP_ACTIVE`; neither should occur if rejected
This fixes that, by checking after `start_drop()` when notifications are
thawed, whether any handler has `reject()`ed & set our `drop` to `NULL`.
2023-06-27 21:37:32 +01:00
Daniel Boles
6252517aac
DropTarget: Fix if
block indented 1 step too far
2023-06-27 21:37:20 +01:00
Matthias Clasen
51e440fa03
Merge branch 'fix-asan-ifunc' into 'main'
...
Fix fp16 with asan
See merge request GNOME/gtk!6153
2023-06-27 19:55:28 +00:00
Matthias Clasen
d82fb6f20a
Fix fp16 with asan
...
The IFUNC resolvers that we are using here get
run early, before asan had a chance to set up its
plumbing, and therefore things go badly if they
are compiled with asan. Turning it off makes things
work again.
The gcc bug tracking this problem:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110442
Thanks to Jakub Jelinek and Florian Weimer for
analyzing this and recommending the workaround.
2023-06-27 15:17:56 -04:00
Matthias Clasen
44de6a6cbe
Merge branch 'wip/sadiq/fix-use-after-free' into 'main'
...
gldriver: Fix a possible use-after-free
See merge request GNOME/gtk!6151
2023-06-27 18:46:28 +00:00
Mohammed Sadiq
64e27cd87d
gldriver: Fix a possible use-after-free
...
g_hash_table_insert() frees the given key if it already exists
in the hashtable. But since we use the same pointer in the
following line, it will result in use-after-free.
So instead, insert the key only if it doesn't exist.
2023-06-27 22:45:07 +05:30
Benjamin Otte
60e75f8a2a
Merge branch 'wip/otte/for-vulkan' into 'main'
...
vulkan: Generate vertex array headers from shaders
See merge request GNOME/gtk!6149
2023-06-27 16:20:29 +00:00
Matthias Clasen
57eda94dde
Merge branch 'matthiasc/for-main' into 'main'
...
gtk4-builder-tool: Fix naming
See merge request GNOME/gtk!6150
2023-06-27 11:24:08 +00:00
Matthias Clasen
723fb6c8be
gtk4-builder-tool: Fix naming
...
We install the tool as gtk4-builder-tool, so that
is what it should call itself.
String change.
2023-06-27 07:09:04 -04:00
Benjamin Otte
6c85ed1ba1
vulkan: Generate vertex array headers from shaders
...
The script is pretty dumb but it does its job.
2023-06-27 07:11:48 +02:00
Benjamin Otte
2e58274f23
vulkan: Rename crossfade => cross-fade
...
Preparation for the future.
2023-06-27 06:46:57 +02:00
Benjamin Otte
4ade0afe03
vulkan: Rename blendmode to blend-mode
...
Preparation for future changes, nothing to see here.
2023-06-27 06:46:57 +02:00
Benjamin Otte
93fb45c689
Merge branch 'wip/otte/vulkan-for-main' into 'main'
...
vulkan: Add a pipeline cache
See merge request GNOME/gtk!6148
2023-06-26 18:52:48 +00:00
Benjamin Otte
684a015c98
vulkan: Add a pipeline cache
...
Make the display handle the cache, because we only need one.
We store the cache in
$CACHE_DIR/gtk-4.0/vulkan-pipeline-cache/$UUID.$VERSION
so we regenerate caches for each different device (different UUID) and
each different driver version.
We also keep track of the etag of the cache file, so if 2 different
applications update the cache, we can detect that.
Vulkan allows merging caches, so the 2nd app reloads the new cache file
and merges it into its cache before saving.
2023-06-26 20:28:11 +02:00
Matthias Clasen
f7fcd2e425
Merge branch 'main' into 'main'
...
Add settable search match mode in dropdown
See merge request GNOME/gtk!6146
2023-06-26 18:18:14 +00:00
Matthias Clasen
c6c637fe21
Merge branch 'matthiasc/for-main' into 'main'
...
buildertool: Make render an alias for screenshot
See merge request GNOME/gtk!6147
2023-06-26 15:38:32 +00:00
Matthias Clasen
33fc4d6495
buildertool: Make render an alias for screenshot
...
Its a more neutral name and will align better with
other tools.
2023-06-26 10:58:35 -04:00
al_SeveR
33ff927522
Add settable search match mode in dropdown
2023-06-26 14:14:39 +00:00
Leônidas Araújo
2d39cdbff8
Update Brazilian Portuguese translation
...
(cherry picked from commit 98a2aae5ac
)
2023-06-26 13:08:53 +00:00
Daniel Boles
8d675810e8
GtkText: Link to descendents/monospace
CSS nodes
...
Change the descendent classes from `monospace`-without-links to links.
Add `monospace` around the names of CSS nodes and classes for clarity.
2023-06-26 13:05:39 +01:00
Matthias Clasen
8b25481c26
widget-factory: Set a11y labels on scale buttons
...
Just to check that this works now.
2023-06-25 22:28:23 -04:00
Ekaterine Papava
5fdf96f496
Update Georgian translation
2023-06-25 13:39:03 +00:00
Matthias Clasen
b61991a023
Merge branch 'gtkstack_fix_pages_param_check' into 'main'
...
stack: fix pages list bounds check
See merge request GNOME/gtk!6141
2023-06-24 12:08:18 +00:00
G.Willems
91d302a201
stack: fix pages list bounds check
...
Fix integer underflow when children->len is 0.
Add missing bounds check in select_item()
2023-06-24 03:05:37 +02:00
Matthias Clasen
35a1a62d50
Merge branch 'ebassi/builder-docs' into 'main'
...
docs: Clean up section on UI definitions
See merge request GNOME/gtk!6139
2023-06-23 23:45:05 +00:00
Matthias Clasen
ac7a4cb94c
Merge branch 'wip/chergert/gdatetime-from-gtkbuilder' into 'main'
...
builder: add support for parsing GDateTime
See merge request GNOME/gtk!6140
2023-06-23 23:43:28 +00:00
Christian Hergert
bacd7ef92f
builder: add support for parsing GDateTime
...
This will parse a <property/> containing the ISO 8601 format for a date
for use in GDateTime properties. For example:
<property name="sampled-at">2023-06-23T00:00:00.00</property>
2023-06-23 14:11:37 -07:00
Emmanuele Bassi
980dc44f4a
docs: Clean up section on UI definitions
...
The current documentation is narrative, but it lacks examples and proper
formatting, which makes it harder to read and visually scan.
Let's split off paragraphs and sections, so they can be easily linkend,
and add a few examples for each description.
2023-06-23 14:31:57 +01:00
Daniel Boles
2d648f84a9
docs/ref/gtk/running: Mention GDK_DEBUG=no-portals
...
It was omitted from !5336
2023-06-23 14:24:47 +01:00
Daniel Boles
aef0943f61
FileDialog: Fix typos of "inital" to "initial"
2023-06-23 13:50:53 +01:00
Matthias Clasen
3e146171cb
Merge branch 'dboles/FileDialog_initial-folder_from_initial-file' into 'main'
...
Fix FileDialog: initial-file doesnʼt set initial-folder
See merge request GNOME/gtk!6137
2023-06-23 01:14:15 +00:00
Matthias Clasen
24bbaceaa4
Merge branch 'always-more-a11y-fixes' into 'main'
...
scalebutton: Use the group role
See merge request GNOME/gtk!6138
2023-06-23 01:06:57 +00:00
Matthias Clasen
318cf132e9
a11y: Extend the nested button hack to volume buttons
2023-06-22 18:37:10 -04:00
Matthias Clasen
8bbc143ed1
scalebutton: Use the group role
...
This is needed for accessible labels to work.
2023-06-22 18:36:39 -04:00
Daniel Boles
220d130c0f
FileDialog: initial-file didnʼt set initial-folder
...
We always set :initial-folder to NULL and then notified about that,
instead of setting it to the folder of the :initial-file as we say.
2023-06-22 22:33:14 +01:00
Jordi Mas
e28a32a7c7
Update Catalan translation
2023-06-22 21:00:28 +02:00
Matthias Clasen
88f8b77d77
Merge branch 'matthiasc/for-main' into 'main'
...
docs: Mention GtkAccessibleRange
See merge request GNOME/gtk!6136
2023-06-22 02:40:08 +00:00
Matthias Clasen
1066374909
docs: Mention GtkAccessibleRange
...
In the accessibility docs about custom widgets,
mention GtkAccessibleRange as the best way to
implement custom range widgets.
2023-06-21 22:15:59 -04:00
Matthias Clasen
34a2595dfb
Merge branch 'more-a11y-fixes' into 'main'
...
widget: Don't let abstract role slip through
See merge request GNOME/gtk!6135
2023-06-22 00:47:03 +00:00
Matthias Clasen
76fcd5cf25
Add another a11y test
...
This one catches the lingering 'widget' role
that only happens when widgets are realized
and rooted.
2023-06-21 19:55:46 -04:00
Matthias Clasen
32e6ed4eca
a11y: Use group role for color and font buttons
...
This is needed since generic does not allow naming.
2023-06-21 19:55:46 -04:00