Commits:
-
2ab53d5c
by Olivier Fourdan at 2023-09-19T11:14:59+02:00
xtest: Check whether there is a sendEventsProc to call
If a client tries to send XTEST events while there is no sendEventsProc
defined for the given device, Xwayland would call into 0x0 and crash.
Make sure the handler is defined before trying to use it, to avoid the
crash.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1574
(cherry picked from commit e820030de2da3d0064f36504ccad53302e0f718d)
-
ad46baaa
by Michel Dänzer at 2023-09-19T11:15:13+02:00
glamor: Ignore destination alpha as necessary for composite operation
If the destination drawable is a window with effective depth 24 backed
by a depth 32 pixmap.
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1575
(cherry picked from commit d1f142891ef346e90c36a7393009ffaac2aa8b38)
-
ada62bf8
by Olivier Fourdan at 2023-09-20T10:10:03+02:00
Bump version to 23.2.1
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-
e6656d80
by Timo Aaltonen at 2023-09-20T16:08:36+03:00
Merge branch 'upstream-unstable' into debian-unstable
-
bd9169a3
by Timo Aaltonen at 2023-09-20T16:08:58+03:00
version bump
-
5a6bf614
by Timo Aaltonen at 2023-09-20T16:12:01+03:00
release to sid
5 changed files:
Changes:
Xext/xtest.c
... |
... |
@@ -437,7 +437,8 @@ ProcXTestFakeInput(ClientPtr client) |
437
|
437
|
|
438
|
438
|
valuator_mask_set_range(&mask, firstValuator, numValuators, valuators);
|
439
|
439
|
|
440
|
|
- (*dev->sendEventsProc) (dev, type, ev->u.u.detail, flags, &mask);
|
|
440
|
+ if (dev->sendEventsProc)
|
|
441
|
+ (*dev->sendEventsProc) (dev, type, ev->u.u.detail, flags, &mask);
|
441
|
442
|
|
442
|
443
|
if (need_ptr_update)
|
443
|
444
|
miPointerUpdateSprite(dev);
|
debian/changelog
|
1
|
+xwayland (2:23.2.1-1) unstable; urgency=medium
|
|
2
|
+
|
|
3
|
+ * New upstream release.
|
|
4
|
+
|
|
5
|
+ -- Timo Aaltonen <tjaalton@debian.org> Wed, 20 Sep 2023 16:09:23 +0300
|
|
6
|
+
|
1
|
7
|
xwayland (2:23.2.0-1) unstable; urgency=medium
|
2
|
8
|
|
3
|
9
|
* New upstream release.
|
glamor/glamor_priv.h
... |
... |
@@ -111,6 +111,7 @@ enum shader_mask { |
111
|
111
|
enum shader_dest_swizzle {
|
112
|
112
|
SHADER_DEST_SWIZZLE_DEFAULT,
|
113
|
113
|
SHADER_DEST_SWIZZLE_ALPHA_TO_RED,
|
|
114
|
+ SHADER_DEST_SWIZZLE_IGNORE_ALPHA,
|
114
|
115
|
SHADER_DEST_SWIZZLE_COUNT,
|
115
|
116
|
};
|
116
|
117
|
|
glamor/glamor_render.c
... |
... |
@@ -197,6 +197,11 @@ glamor_create_composite_fs(glamor_screen_private *glamor_priv, struct shader_key |
197
|
197
|
" float undef;\n"
|
198
|
198
|
" return vec4(color.a, undef, undef, undef);"
|
199
|
199
|
"}";
|
|
200
|
+ const char *dest_swizzle_ignore_alpha =
|
|
201
|
+ "vec4 dest_swizzle(vec4 color)\n"
|
|
202
|
+ "{"
|
|
203
|
+ " return vec4(color.xyz, 1.0);"
|
|
204
|
+ "}";
|
200
|
205
|
|
201
|
206
|
const char *in_normal =
|
202
|
207
|
"void main()\n"
|
... |
... |
@@ -286,6 +291,9 @@ glamor_create_composite_fs(glamor_screen_private *glamor_priv, struct shader_key |
286
|
291
|
case SHADER_DEST_SWIZZLE_ALPHA_TO_RED:
|
287
|
292
|
dest_swizzle = dest_swizzle_alpha_to_red;
|
288
|
293
|
break;
|
|
294
|
+ case SHADER_DEST_SWIZZLE_IGNORE_ALPHA:
|
|
295
|
+ dest_swizzle = dest_swizzle_ignore_alpha;
|
|
296
|
+ break;
|
289
|
297
|
default:
|
290
|
298
|
FatalError("Bad composite shader dest swizzle");
|
291
|
299
|
}
|
... |
... |
@@ -938,7 +946,11 @@ glamor_composite_choose_shader(CARD8 op, |
938
|
946
|
glamor_priv->formats[8].format == GL_RED) {
|
939
|
947
|
key.dest_swizzle = SHADER_DEST_SWIZZLE_ALPHA_TO_RED;
|
940
|
948
|
} else {
|
941
|
|
- key.dest_swizzle = SHADER_DEST_SWIZZLE_DEFAULT;
|
|
949
|
+ if (dest_pixmap->drawable.depth == 32 &&
|
|
950
|
+ glamor_drawable_effective_depth(dest->pDrawable) == 24)
|
|
951
|
+ key.dest_swizzle = SHADER_DEST_SWIZZLE_IGNORE_ALPHA;
|
|
952
|
+ else
|
|
953
|
+ key.dest_swizzle = SHADER_DEST_SWIZZLE_DEFAULT;
|
942
|
954
|
}
|
943
|
955
|
|
944
|
956
|
if (source && source->alphaMap) {
|
meson.build
... |
... |
@@ -3,10 +3,10 @@ project('xwayland', 'c', |
3
|
3
|
'buildtype=debugoptimized',
|
4
|
4
|
'c_std=gnu99',
|
5
|
5
|
],
|
6
|
|
- version: '23.2.0',
|
|
6
|
+ version: '23.2.1',
|
7
|
7
|
meson_version: '>= 0.52.0',
|
8
|
8
|
)
|
9
|
|
-release_date = '2023-08-16'
|
|
9
|
+release_date = '2023-09-20'
|
10
|
10
|
|
11
|
11
|
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc'])
|
12
|
12
|
cc = meson.get_compiler('c')
|
|