Christian Hergert [Sat, 19 Dec 2020 01:36:59 +0000 (17:36 -0800)]
gsk: add OpenGL based GskNglRenderer
The primary goal here was to cleanup the current GL renderer to make
maintenance easier going forward. Furthermore, it tracks state to allow
us to implement more advanced renderer features going forward.
Reordering
This renderer will reorder batches by render target to reduce the number
of times render targets are changed.
In the future, we could also reorder by program within the render target
if we can determine that vertices do not overlap.
Uniform Snapshots
To allow for reordering of batches all uniforms need to be tracked for
the programs. This allows us to create the full uniform state when the
batch has been moved into a new position.
Some care was taken as it can be performance sensitive.
Attachment Snapshots
Similar to uniform snapshots, we need to know all of the texture
attachments so that we can rebind them when necessary.
Render Jobs
To help isolate the process of creating GL commands from the renderer
abstraction a render job abstraction was added. This could be extended
in the future if we decided to do tiling.
Command Queue
Render jobs create batches using the command queue. The command queue
will snapshot uniform and attachment state so that it can reorder
batches right before executing them.
Currently, the only reordering done is to ensure that we only visit
each render target once. We could extend this by tracking vertices,
attachments, and others.
This code currently uses an inline array helper to reduce overhead
from GArray which was showing up on profiles. It could be changed to
use GdkArray without too much work, but had roughly double the
instructions. Cycle counts have not yet been determined.
GLSL Programs
This was simplified to use XMACROS so that we can just extend one file
(gskglprograms.defs) instead of multiple places. The programs are added
as fields in the driver for easy access.
Driver
The driver manages textures, render targets, access to atlases,
programs, and more. There is one driver per display, by using the
shared GL context.
Some work could be done here to batch uploads so that we make fewer
calls to upload when sending icon theme data to the GPU. We'd need
to keep a copy of the atlas data for such purposes.
Ask Hjorth Larsen [Tue, 23 Feb 2021 00:23:03 +0000 (01:23 +0100)]
Updated Danish translation of gtk-properties
Ask Hjorth Larsen [Tue, 23 Feb 2021 00:23:03 +0000 (01:23 +0100)]
Updated Danish translation
Matthias Clasen [Mon, 22 Feb 2021 20:31:19 +0000 (20:31 +0000)]
Merge branch 'compose-warning' into 'master'
imcontext: Take out the warnings
See merge request GNOME/gtk!3230
Matthias Clasen [Mon, 22 Feb 2021 20:00:58 +0000 (15:00 -0500)]
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.
Timm Bäder [Mon, 22 Feb 2021 08:20:34 +0000 (08:20 +0000)]
Merge branch 'SilverRainZ-master-patch-42810' into 'master'
gtk-demo: Fix typo GtkKabel -> GtkLabel
See merge request GNOME/gtk!3229
Emin Tufan Çetin [Sun, 21 Feb 2021 17:56:30 +0000 (17:56 +0000)]
Update Turkish translation
Emin Tufan Çetin [Sun, 21 Feb 2021 17:51:14 +0000 (17:51 +0000)]
Update Turkish translation
Emin Tufan Çetin [Sun, 21 Feb 2021 16:27:09 +0000 (16:27 +0000)]
Update Turkish translation
Shengyu Zhang [Sun, 21 Feb 2021 16:20:22 +0000 (16:20 +0000)]
gtk-demo: Fix typo GtkKabel -> GtkLabel
Piotr Drąg [Sun, 21 Feb 2021 11:50:44 +0000 (12:50 +0100)]
Update POTFILES.in
Matthias Clasen [Sat, 20 Feb 2021 02:37:52 +0000 (02:37 +0000)]
Merge branch 'wip/chergert/macos-gl-opaque-context' into 'master'
macos: make OpenGL context opaque when possible
See merge request GNOME/gtk!3226
Matthias Clasen [Sat, 20 Feb 2021 02:32:15 +0000 (02:32 +0000)]
Merge branch 'wip/chergert/fix-macos-resizing' into 'master'
macos: fix resizing of resizable windows on macOS
See merge request GNOME/gtk!3227
Christian Hergert [Fri, 19 Feb 2021 23:34:18 +0000 (15:34 -0800)]
macos: fix resizing of resizable windows on macOS
Christian Hergert [Fri, 19 Feb 2021 21:18:42 +0000 (13:18 -0800)]
macos: make OpenGL context opaque when possible
If our opaque region is the entire surface, then we can make the OpenGL
context opaque like we do for decorated windows. This improves performance
as the compositor does not need to blend the surface with the contents
behind the window.
Matthias Clasen [Fri, 19 Feb 2021 14:41:36 +0000 (14:41 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3224
Zander Brown [Fri, 19 Feb 2021 14:26:09 +0000 (14:26 +0000)]
Update British English translation
(cherry picked from commit
1f18d2638f5b43ead535f75ae5dfad959fe831f1)
Zander Brown [Fri, 19 Feb 2021 14:24:14 +0000 (14:24 +0000)]
Update British English translation
(cherry picked from commit
6f263318648f35ee00e46d89c66975539de21ae7)
Matthias Clasen [Fri, 19 Feb 2021 03:52:15 +0000 (22:52 -0500)]
gtk-demo: Make --version match about
Print the same version information in --version
that we show in the about dialog.
Matthias Clasen [Fri, 19 Feb 2021 03:51:35 +0000 (22:51 -0500)]
widget-factory: Make --version match about
Print the same version information in --version
that we show in the about dialog.
Matthias Clasen [Thu, 18 Feb 2021 20:33:01 +0000 (15:33 -0500)]
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.
Matthias Clasen [Thu, 18 Feb 2021 17:36:08 +0000 (17:36 +0000)]
Merge branch 'unintrusive-compose-preedit' into 'master'
Unintrusive compose preedit
See merge request GNOME/gtk!3220
Matthias Clasen [Thu, 18 Feb 2021 17:18:37 +0000 (17:18 +0000)]
Merge branch 'wip/carlosg/font-setting-lookups' into 'master'
gdk/wayland: Look for font settings recursively
Closes #3680
See merge request GNOME/gtk!3218
Matthias Clasen [Thu, 18 Feb 2021 16:31:04 +0000 (11:31 -0500)]
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.
Matthias Clasen [Thu, 18 Feb 2021 00:59:28 +0000 (19:59 -0500)]
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.
Carlos Garnacho [Thu, 18 Feb 2021 15:12:53 +0000 (16:12 +0100)]
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
Matthias Clasen [Thu, 18 Feb 2021 14:38:50 +0000 (14:38 +0000)]
Merge branch 'wip/exalm/root' into 'master'
widget: Don't assume GtkWindow root in gtk_widget_propagate_state()
See merge request GNOME/gtk!3217
Alexander Mikhaylenko [Thu, 18 Feb 2021 08:41:41 +0000 (13:41 +0500)]
widget: Don't assume GtkWindow root in gtk_widget_propagate_state()
Avoid crashes with GtkDragIcon children.
Matthias Clasen [Thu, 18 Feb 2021 05:52:44 +0000 (05:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3679 and #3678
See merge request GNOME/gtk!3216
Matthias Clasen [Thu, 18 Feb 2021 04:25:31 +0000 (23:25 -0500)]
text: Fix sticky preedit attrs
In some cases, we were inadvertedly merging the
preedit attributes into priv->attrs, instead of
keeping them separate. This was causing the underlines
to grow beyond the preedit and never go away. One
place where this was showing up is the fontchooser
preview.
Fixes: #3679
Matthias Clasen [Thu, 18 Feb 2021 03:57:41 +0000 (22:57 -0500)]
imwayland: Return limited preedit attributes
It should not matter, but it is the right thing to
do to limit the preedit attributes to the length
of the preedit text.
Matthias Clasen [Thu, 18 Feb 2021 03:08:43 +0000 (22:08 -0500)]
imcontext: Enable font fallback for preedit
Not doing so only invites hexboxes.
Fixes: #3678
Matthias Clasen [Thu, 18 Feb 2021 02:45:33 +0000 (21:45 -0500)]
paned: Add a paned handle class
Instead of bending GtkGizmo to the breaking point,
split off a GtkPanedHandle class that just does
what is needed here. Its simpler, and lets us keep
GtkGizmo simpler too. Everybody wins.
Matthias Clasen [Thu, 18 Feb 2021 02:44:53 +0000 (21:44 -0500)]
popovercontent: Few small fixes
Forgot to include config.h. Oops, and we make things
a bit shorter still.
Matthias Clasen [Wed, 17 Feb 2021 20:49:41 +0000 (20:49 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3676 and #3675
See merge request GNOME/gtk!3215
Matthias Clasen [Wed, 17 Feb 2021 20:25:42 +0000 (15:25 -0500)]
Make gtk_im_modules_init properly private
Putting non-exported symbols in public headers can
only lead to confusion and day drinking. Don't do it.
Fixes: #3676
Matthias Clasen [Wed, 17 Feb 2021 20:18:49 +0000 (15:18 -0500)]
gsk: Add a missing GDK_AVAILABLE_IN_ALL
gsk_text_node_has_color_glyphs was not properlty exported,
by accident.
Fixes: #3675
Matthias Clasen [Wed, 17 Feb 2021 12:55:39 +0000 (12:55 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3214
Matthias Clasen [Wed, 17 Feb 2021 04:48:48 +0000 (23:48 -0500)]
Revert "gizmo: Add a css_changed function"
This reverts commit
39f72b38341d2ff2d67c2043ce04915797d24fb8.
Matthias Clasen [Wed, 17 Feb 2021 04:48:30 +0000 (23:48 -0500)]
Revert "gizmo: Chain up in css_changed"
This reverts commit
bb0a1b0cfe74d74c97ba2711d1827843d21a2c81.
Matthias Clasen [Wed, 17 Feb 2021 04:47:20 +0000 (23:47 -0500)]
popover: Add a popover content class
Instead of bending GtkGizmo to the breaking point,
split off a GtkPopoverContent class that just does
what is needed here. Its simpler, and lets us keep
GtkGizmo simpler too.
Matthias Clasen [Wed, 17 Feb 2021 03:55:45 +0000 (03:55 +0000)]
Merge branch 'wip/smcv/reftest-dedup' into 'master'
Reduce duplication in reftests
See merge request GNOME/gtk!3203
Matthias Clasen [Wed, 17 Feb 2021 03:54:27 +0000 (03:54 +0000)]
Merge branch 'wip/jimmac/tiled-resize-area-gtk4' into 'master'
Adwaita: control surface for resize tiled windows
Closes #3670
See merge request GNOME/gtk!3211
Jakub Steiner [Tue, 16 Feb 2021 13:06:35 +0000 (14:06 +0100)]
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
Matthias Clasen [Tue, 16 Feb 2021 12:26:02 +0000 (12:26 +0000)]
Merge branch 'wip/jimmac/scrollbars-fine-tune-fix' into 'master'
Adwaita: avoid fine-tune scrollbars jumping
Closes #3672
See merge request GNOME/gtk!3208
Jakub Steiner [Mon, 15 Feb 2021 19:31:44 +0000 (20:31 +0100)]
Adwaita: Avoid fine-tune scrollbars jumping
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3672
Matthias Clasen [Tue, 16 Feb 2021 04:33:08 +0000 (04:33 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
wayland: Complete our buffer format listing
See merge request GNOME/gtk!3207
Matthias Clasen [Mon, 15 Feb 2021 21:43:47 +0000 (21:43 +0000)]
Merge branch 'fix-scrollbar-sizing' into 'master'
gizmo: Chain up in css_changed
See merge request GNOME/gtk!3206
Matthias Clasen [Mon, 15 Feb 2021 21:39:58 +0000 (16:39 -0500)]
wayland: Complete our buffer format listing
The debug spew for printing out supported buffer
formats was missing a bunch, among them the fp16
formats that are interesting for HDR support.
Add them.
Note that we still only support ARGB8888. But
at least we can print out what don't support.
Matthias Clasen [Mon, 15 Feb 2021 19:26:52 +0000 (14:26 -0500)]
gizmo: Chain up in css_changed
css_changed is a vfunc that *must* chain up.
Failure to do so broke the resizing of overlay scrollbars,
amongst other things.
This bug was introduced in
39f72b38341d2ff2d67.
Matthias Clasen [Mon, 15 Feb 2021 18:08:45 +0000 (18:08 +0000)]
Merge branch 'lenient-compose-parsing' into 'master'
imcontext: Be more lenient in parsing Compose
See merge request GNOME/gtk!3201
Matthias Clasen [Mon, 15 Feb 2021 18:06:00 +0000 (18:06 +0000)]
Merge branch 'wip/jimmac/larger-smaller-scrollbar-gtk4' into 'master'
Adwaita: Scrollbar transitions and size
Closes #1886
See merge request GNOME/gtk!3204
Jakub Steiner [Wed, 10 Feb 2021 11:37:45 +0000 (12:37 +0100)]
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
Simon McVittie [Sat, 13 Feb 2021 18:21:25 +0000 (18:21 +0000)]
reftests: Share reftest-compare.[ch] between GSK and GTK tests
The only non-whitespace difference is that the copy in GSK does not
set the symbol's visibility.
Signed-off-by: Simon McVittie <smcv@debian.org>
Simon McVittie [Sat, 13 Feb 2021 18:25:18 +0000 (18:25 +0000)]
reftest-compare: Fix spelling of "diff"
This is the only non-whitespace difference between the copies in
testsuite/reftests/ and testsuite/gsk/.
Signed-off-by: Simon McVittie <smcv@debian.org>
Matthias Clasen [Mon, 15 Feb 2021 06:41:09 +0000 (01:41 -0500)]
imcontext: Improve compose table parsing
Avoid leaking value in error cases, and actually
emit a warning for a missing quote. Pointed out
by Peter Bloomfield.
Jordi Mas [Sun, 14 Feb 2021 20:52:55 +0000 (21:52 +0100)]
Update Catalan translation
Matthias Clasen [Sun, 14 Feb 2021 17:56:00 +0000 (12:56 -0500)]
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.
Matthias Clasen [Sun, 14 Feb 2021 17:25:58 +0000 (17:25 +0000)]
Merge branch 'fix-compose-comments' into 'master'
Fix compose comments
Closes #3664
See merge request GNOME/gtk!3199
Matthias Clasen [Sun, 14 Feb 2021 17:22:50 +0000 (17:22 +0000)]
Merge branch 'popup-shadow-width' into 'master'
Support shadows on popovers
See merge request GNOME/gtk!3089
Matthias Clasen [Sun, 14 Feb 2021 16:54:05 +0000 (11:54 -0500)]
imcontext: Fix a regression in Compose file parsing
We accidentally dropped the handing of # comments.
Bring it back. Test included.
Fixes: #3664
Matthias Clasen [Sun, 14 Feb 2021 16:53:49 +0000 (11:53 -0500)]
testsuite: Add a missing file
Matthias Clasen [Sun, 14 Feb 2021 16:22:44 +0000 (11:22 -0500)]
window: Add some more details to css docs
Mention more of the supported style classes.
Matthias Clasen [Sun, 14 Feb 2021 16:14:23 +0000 (11:14 -0500)]
Update popover css docs
Mention that shadows are now possible.
Matthias Clasen [Sun, 14 Feb 2021 15:59:29 +0000 (15:59 +0000)]
Merge branch 'antoniof-master-patch-32022' into 'master'
docs: Mark heading in migration guide
See merge request GNOME/gtk!3198
Matthias Clasen [Sun, 14 Feb 2021 02:12:40 +0000 (21:12 -0500)]
macos: Apply popup shadow width
Matthias Clasen [Sun, 14 Feb 2021 02:10:52 +0000 (21:10 -0500)]
win32: Apply popup shadow width
António Fernandes [Sun, 14 Feb 2021 15:20:54 +0000 (15:20 +0000)]
docs: Mark heading in migration guide
This heading was missing from the index because it was not marked as one
Matthias Clasen [Sun, 14 Feb 2021 02:10:10 +0000 (21:10 -0500)]
x11: Apply popup shadow with
Matthias Clasen [Sun, 14 Feb 2021 00:05:26 +0000 (19:05 -0500)]
popover: Handle shadow changes
When the box-shadow css property of the contents
widget changes, queue a resize on the popover.
Matthias Clasen [Sun, 14 Feb 2021 00:04:10 +0000 (19:04 -0500)]
gizmo: Add a css_changed function
In a break from the current gizmo api, add a separate
setter, since the calls with long argument lists full
of NULL are getting out of hand.
Matthias Clasen [Sat, 13 Feb 2021 20:46:00 +0000 (15:46 -0500)]
Add a test for popover positioning
This is useful for testing the interaction of arrows, shadows
or offsets with popover positioning.
Matthias Clasen [Mon, 1 Feb 2021 00:26:33 +0000 (19:26 -0500)]
popover: Support shadows
Use gdk_popup_layout_set_shadow_width to take shadows into
account when positioning popovers, and set the input region
to exclude the shadow, since we aren't doing interactive
resizing and the like.
When the popover has a beak, we make the surface size be
content size + shadow + tail, and then position the content
according to the final position inside this slightly too large
surface. The surface being too large doesn't matter, since we
set up an input region.
Matthias Clasen [Sun, 14 Feb 2021 01:48:15 +0000 (20:48 -0500)]
wayland: Set shadow width on popup surfaces
Take the shadow width from the popup layout into account.
Matthias Clasen [Sun, 14 Feb 2021 01:47:57 +0000 (20:47 -0500)]
popuplayout: Add shadow width
Add shadow width to the GdkPopupLayout struct. This
information is needed by the compositor to make correct
positioning decisions about popups.
Matthias Clasen [Sun, 14 Feb 2021 01:59:35 +0000 (01:59 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3197
Matthias Clasen [Sun, 14 Feb 2021 01:25:24 +0000 (20:25 -0500)]
popover: Queue a resize when position changes
At least with an arrow, changing the position
requires a resize
Matthias Clasen [Sun, 14 Feb 2021 00:22:06 +0000 (19:22 -0500)]
popover: Cosmetics
Balázs Meskó [Sun, 14 Feb 2021 00:07:07 +0000 (00:07 +0000)]
Update Hungarian translation
Matthias Clasen [Fri, 12 Feb 2021 21:29:08 +0000 (21:29 +0000)]
Merge branch 'revert-
82ab039a' into 'master'
Revert "Merge branch 'disable-macos-ci' into 'master'"
See merge request GNOME/gtk!3192
Matthias Clasen [Fri, 12 Feb 2021 21:04:15 +0000 (16:04 -0500)]
Stop passing introspection=false to graphene
This should no longer be possible (and the introspection
option is no longer a boolean.
Matthias Clasen [Fri, 12 Feb 2021 20:24:27 +0000 (15:24 -0500)]
ci: Add debug spew on macos
Bartłomiej Piotrowski [Fri, 12 Feb 2021 19:40:57 +0000 (19:40 +0000)]
Revert "Merge branch 'disable-macos-ci' into 'master'"
This reverts merge request !3183
Matthias Clasen [Fri, 12 Feb 2021 14:07:07 +0000 (14:07 +0000)]
Merge branch 'win32.surface.resize' into 'master'
Some fixes for resizing of GDK/Win32 surfaces
See merge request GNOME/gtk!3144
Matthias Clasen [Fri, 12 Feb 2021 14:03:54 +0000 (14:03 +0000)]
Merge branch 'flatpak-tweaks' into 'master'
Flatpak tweaks
See merge request GNOME/gtk!3187
Matthias Clasen [Fri, 12 Feb 2021 13:46:14 +0000 (13:46 +0000)]
Merge branch 'ci-fedora-33' into 'master'
ci: Update the Fedora image to F33
See merge request GNOME/gtk!3188
Matthias Clasen [Fri, 12 Feb 2021 12:45:51 +0000 (12:45 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!3189
Timm Bäder [Sat, 30 Jan 2021 15:01:54 +0000 (16:01 +0100)]
nativedialog: Remove unused run state
Timm Bäder [Fri, 12 Feb 2021 07:36:21 +0000 (08:36 +0100)]
build: Check for mallinfo2 instead of mallinfo
Similar to https://github.com/llvm/llvm-project/commit/
e89fcbfad6a3edb203ebdc2b1ead275fe909281a
but the tests we use mallinfo() in really aren't important to not worth
the effort to differentiate between mallinfo and mallinfo2. Only check
for mallinfo2().
Matthias Clasen [Fri, 12 Feb 2021 05:26:10 +0000 (00:26 -0500)]
flatpak: Try harder to disable sassc
Matthias Clasen [Fri, 12 Feb 2021 05:10:30 +0000 (00:10 -0500)]
Add devel styling to nightly flatpaks
Pass -Dprofile=devel to the gtk build for our nightly
flatpaks, so they pick up devel styling.
Matthias Clasen [Fri, 12 Feb 2021 04:35:26 +0000 (23:35 -0500)]
demos: Add devel styling
Add a -Dprofile=devel meson option, and add some visual
hints to the demos that you are running a nightly build.
Matthias Clasen [Fri, 12 Feb 2021 04:00:19 +0000 (23:00 -0500)]
flatpak: No need to build sassc anymore
We should be able to do a gtk build without rebuilding
css nowadays.
Matthias Clasen [Fri, 12 Feb 2021 03:02:39 +0000 (22:02 -0500)]
ci: Update the Fedora image to F33
Matthias Clasen [Thu, 11 Feb 2021 19:41:10 +0000 (19:41 +0000)]
Merge branch 'fix-network-places' into 'master'
placesview: Avoid use-after-free
See merge request GNOME/gtk!3186
Matthias Clasen [Thu, 11 Feb 2021 17:04:47 +0000 (17:04 +0000)]
Merge branch 'wip/jimmac/tiled-shadow-fix-fix-gtk4' into 'master'
Adwaita: bring borders for tiled
Closes #3661
See merge request GNOME/gtk!3184
Matthias Clasen [Thu, 11 Feb 2021 17:02:00 +0000 (17:02 +0000)]
Merge branch 'ebassi/memdup2' into 'master'
Use g_memdup2()
See merge request GNOME/gtk!3157
Emmanuele Bassi [Thu, 4 Feb 2021 19:26:58 +0000 (19:26 +0000)]
tests: Move from g_memdup() to g_memdup2()
The g_memdup() function is replaced by a safer version in newer versions
of GLib.
Emmanuele Bassi [Thu, 4 Feb 2021 19:20:10 +0000 (19:20 +0000)]
Ensure we don't overflow when using g_memdup2()
When we turn integers into size_t we should check we're not going to
make a mess.
Emmanuele Bassi [Thu, 4 Feb 2021 19:18:54 +0000 (19:18 +0000)]
win32: Move from g_memdup() to g_memdup2()
Use `size_t` and `gsize` consistently for the length argument in every
function taking a bytes array and a length.