Compare commits

...

17 Commits

Author SHA1 Message Date
Arjan Molenaar
927f3b0162 macos: Translate Ctrl+click to right click
On macOS, Ctrl+left-click is handled as right-click.

We can do that mapping directly in the macOS backend.
2024-08-02 09:25:28 +02:00
Matthias Clasen
564a237454 Merge branch 'matthiasc/for-main' into 'main'
Cosmetics: Remove a leftover line

See merge request GNOME/gtk!7540
2024-08-01 22:24:55 +00:00
Matthias Clasen
86b59ba643 Cosmetics: Remove a leftover line
This looks just like a copy-paste leftover. Suprisingly, it compiled
just fine and worked too.
2024-08-01 17:19:50 -04:00
Matthias Clasen
487e568722 Merge branch 'matthiasc/for-main' into 'main'
vulkan: Don't try srgb for the atlas

Closes #6887

See merge request GNOME/gtk!7539
2024-08-01 19:40:00 +00:00
Matthias Clasen
67080dab21 vulkan: Don't try srgb for the atlas
This makes the Emoji rendering come out wrong.

Fixes: #6887
2024-08-01 14:43:49 -04:00
Benjamin Otte
0809e6585d Merge branch 'wip/otte/for-main' into 'main'
vulkan: Add error checking in a place

See merge request GNOME/gtk!7538
2024-08-01 11:14:12 +00:00
Benjamin Otte
809b98c96e vulkan: Don't leak fds
It makes sense to close the fds before doing an early return.
D'oh.
2024-08-01 12:51:46 +02:00
Benjamin Otte
059af1365a vulkan: Add error checking in a place
Doesn't hurt to have, but I just added it while debugging something
unrelated.
2024-08-01 12:51:46 +02:00
Matthias Clasen
fbcffb36c8 Merge branch 'matthiasc/for-main' into 'main'
Drop debug code

See merge request GNOME/gtk!7536
2024-08-01 01:31:16 +00:00
Matthias Clasen
3af0cfb53b Drop debug code
The dmabuf download code for P010 had a hack left in it that
was preventing it from working.
2024-07-31 21:08:14 -04:00
Matthias Clasen
96422fcf52 Merge branch 'no-cursor-viewport' into 'main'
wayland: No viewporter for cursors

See merge request GNOME/gtk!7531
2024-07-31 20:23:34 +00:00
Matthias Clasen
2754f2be2d Merge branch 'test-cal-31' into 'main'
ci: avoid another date-dependent failure

See merge request GNOME/gtk!7535
2024-07-31 20:12:16 +00:00
Matthias Clasen
3d802177be wayland: No viewporter for cursors
The outlook for mutter supporting this in GNOME 47 are cloudy,
so lets flip the switch back. You can still set
USE_POINTER_VIEWPORT in the environment to try this code.
2024-07-31 07:44:48 -04:00
Matthias Clasen
a02d4ba2a1 Merge branch 'matthiasc/for-main' into 'main'
dmabuf: Fix the disjointness check

See merge request GNOME/gtk!7529
2024-07-31 05:04:02 +00:00
Matthias Clasen
249cf0833c dmabuf: Fix the disjointness check
We were checking the wrong fds here.

This came up while toying with udmabuf and creating multi-plane
NV12 buffers.
2024-07-30 23:44:07 -04:00
Jeremy Bícha
20b00d3947 ci: avoid another date-dependent failure
Set the day before setting the month to avoid
failure when running the test on the 31st day of a month
2024-07-30 15:50:12 -04:00
Matthias Clasen
269dcaaadf Post-release version bump 2024-07-30 15:14:25 -04:00
9 changed files with 32 additions and 18 deletions

3
NEWS
View File

@@ -1,3 +1,6 @@
Overview of Changes in 4.15.5, xx-xx-xxxx
=========================================
Overview of Changes in 4.15.4, 30-07-2024
=========================================

View File

@@ -306,10 +306,6 @@ download_p010 (guchar *dst,
}
MASK = 0xFFFF << (16 - SIZE);
static int counter = 0;
if (counter++ < 8)
return;
y_stride = dmabuf->planes[0].stride / 2;
y_data = (const guint16 *) (src_data[0] + dmabuf->planes[0].offset);
g_return_if_fail (sizes[0] >= dmabuf->planes[0].offset + height * dmabuf->planes[0].stride);
@@ -2475,7 +2471,7 @@ gdk_dmabuf_is_disjoint (const GdkDmabuf *dmabuf)
{
struct stat plane_stat;
if (fstat (dmabuf->planes[0].fd, &plane_stat) != 0)
if (fstat (dmabuf->planes[i].fd, &plane_stat) != 0)
return TRUE;
if (first_stat.st_ino != plane_stat.st_ino)

View File

@@ -207,6 +207,7 @@ fill_button_event (GdkMacosDisplay *display,
GdkSeat *seat;
GdkEventType type;
GdkModifierType state;
guint button;
GdkDevice *pointer = NULL;
GdkDeviceTool *tool = NULL;
double *axes = NULL;
@@ -216,6 +217,7 @@ fill_button_event (GdkMacosDisplay *display,
g_assert (GDK_IS_MACOS_SURFACE (surface));
seat = gdk_display_get_default_seat (GDK_DISPLAY (display));
button = get_mouse_button_from_ns_event (nsevent);
state = get_keyboard_modifiers_from_ns_event (nsevent) |
_gdk_macos_display_get_current_mouse_modifiers (display);
input_region = GDK_SURFACE (surface)->input_region;
@@ -227,6 +229,13 @@ fill_button_event (GdkMacosDisplay *display,
case NSEventTypeOtherMouseDown:
type = GDK_BUTTON_PRESS;
state &= ~get_mouse_button_modifiers_from_ns_event (nsevent);
// Ctrl + left click == right click on macOS
if (button == 1 && state & GDK_CONTROL_MASK)
{
button = 3;
state &= ~GDK_CONTROL_MASK;
}
break;
case NSEventTypeLeftMouseUp:
@@ -261,7 +270,7 @@ fill_button_event (GdkMacosDisplay *display,
tool,
get_time_from_ns_event (nsevent),
state,
get_mouse_button_from_ns_event (nsevent),
button,
x,
y,
axes);

View File

@@ -265,13 +265,13 @@ gdk_wayland_device_update_surface_cursor (GdkDevice *device)
guint next_image_index, next_image_delay;
gboolean retval = G_SOURCE_REMOVE;
GdkWaylandTabletData *tablet;
gboolean use_viewport;
gboolean use_viewport = FALSE;
tablet = gdk_wayland_seat_find_tablet (seat, device);
use_viewport = pointer->pointer_surface_viewport != NULL;
if (g_getenv ("NO_POINTER_VIEWPORT"))
use_viewport = FALSE;
if (pointer->pointer_surface_viewport &&
g_getenv ("USE_POINTER_VIEWPORT"))
use_viewport = TRUE;
if (pointer->cursor)
{

View File

@@ -57,10 +57,16 @@ gsk_vulkan_frame_is_busy (GskGpuFrame *frame)
{
GskVulkanFrame *self = GSK_VULKAN_FRAME (frame);
VkDevice device;
VkResult res;
device = gsk_vulkan_device_get_vk_device (GSK_VULKAN_DEVICE (gsk_gpu_frame_get_device (frame)));
return vkGetFenceStatus (device, self->vk_fence) == VK_NOT_READY;
res = vkGetFenceStatus (device, self->vk_fence);
if (res == VK_NOT_READY)
return TRUE;
gsk_vulkan_handle_result (res, "vkGetFenceStatus");
return res;
}
static void
@@ -183,14 +189,15 @@ gsk_vulkan_frame_upload_texture (GskGpuFrame *frame,
gdk_texture_get_height (texture),
&dmabuf,
gdk_memory_format_alpha (gdk_texture_get_format (texture)) == GDK_MEMORY_ALPHA_PREMULTIPLIED);
/* Vulkan import dups the fds, so we can close these */
gdk_dmabuf_close_fds (&dmabuf);
if (image)
{
gsk_gpu_image_toggle_ref_texture (image, texture);
return image;
}
/* Vulkan import dups the fds, so we can close these */
gdk_dmabuf_close_fds (&dmabuf);
}
}
}

View File

@@ -523,7 +523,7 @@ gsk_vulkan_image_new_for_atlas (GskVulkanDevice *device,
self = gsk_vulkan_image_new (device,
GDK_MEMORY_DEFAULT,
TRUE,
FALSE,
GSK_GPU_IMAGE_FILTERABLE | GSK_GPU_IMAGE_RENDERABLE,
width,
height,

View File

@@ -2786,7 +2786,6 @@ parse_node (GtkCssParser *parser,
guint i;
token = gtk_css_parser_get_token (parser);
if (gtk_css_parser_has_token (parser, GTK_CSS_TOKEN_STRING))
if (gtk_css_token_is (token, GTK_CSS_TOKEN_STRING))
{
GskRenderNode *node;

View File

@@ -1,5 +1,5 @@
project('gtk', 'c',
version: '4.15.4',
version: '4.15.5',
default_options: [
'buildtype=debugoptimized',
'warning_level=1',

View File

@@ -580,8 +580,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
/* avoid day 30 and 31, since they don't exist in February */
instance = g_object_new (type,
"year", 1984,
"month", 10,
"day", 05,
"month", 10,
NULL);
}
/* special casing for singletons */