Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Mutter 46 support #1856

Merged
merged 1 commit into from
Mar 6, 2024
Merged

Update Mutter 46 support #1856

merged 1 commit into from
Mar 6, 2024

Conversation

tintou
Copy link
Member

@tintou tintou commented Feb 16, 2024

Update to the latest version on time.

@tintou
Copy link
Member Author

tintou commented Feb 16, 2024

Draft as we need to port all our usages of Clutter.Canvas as per https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3098 and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3593

@tintou
Copy link
Member Author

tintou commented Feb 22, 2024

Ported all our usages of Clutter.Canvas to our internal Canvas.

@tintou tintou force-pushed the tintou/46-v2 branch 2 times, most recently from f924619 to f7447a4 Compare February 22, 2024 08:36
@tintou tintou marked this pull request as ready for review February 22, 2024 08:37
@danirabbit danirabbit requested a review from a team February 22, 2024 22:15
Copy link
Member

@leolost2605 leolost2605 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On OS 7 with mutter 42.9 it crashes with

#0  0x00007f965ebbb5e9 in gala_drawing_canvas_real_paint_content
    (base=0x7f964c020110, actor=0x557a5782aaa0, root=0x557a583ec6a0, paint_context=0x557a5839bf90) at ../lib/Drawing/Canvas.vala:148
#1  0x00007f965d933d12 in clutter_actor_continue_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#2  0x00007f965ebc246f in gala_shadow_effect_real_paint
    (base=0x557a57a4adb0, node=0x557a5830a850, context=0x557a5839bf90, flags=CLUTTER_EFFECT_PAINT_ACTOR_DIRTY) at ../lib/ShadowEffect.vala:142
#3  0x00007f965d933b37 in clutter_actor_continue_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#4  0x00007f965d978bea in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#5  0x00007f965d978c03 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#6  0x00007f965d933133 in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#7  0x00007f965d9339ab in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#8  0x00007f965d978bea in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#9  0x00007f965d933133 in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#10 0x00007f965d9339ab in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#11 0x00007f965d989078 in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#12 0x00007f965da89742 in  () at /lib/x86_64-linux-gnu/libmutter-10.so.0
#13 0x00007f965d978bea in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#14 0x00007f965d978c03 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#15 0x00007f965d933133 in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#16 0x00007f965d989aff in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#17 0x00007f965da8458e in  () at /lib/x86_64-linux-gnu/libmutter-10.so.0
#18 0x00007f965d984134 in clutter_stage_paint_view () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#19 0x00007f965da8a1a7 in  () at /lib/x86_64-linux-gnu/libmutter-10.so.0
#20 0x00007f965da98332 in  () at /lib/x86_64-linux-gnu/libmutter-10.so.0
#21 0x00007f965d9902c8 in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#22 0x00007f965d9630e9 in  () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-clutter-10.so.0
#23 0x00007f965eaa4d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f965eafa258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f965eaa42b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f965dad0b79 in meta_context_run_main_loop () at /lib/x86_64-linux-gnu/libmutter-10.so.0

@tintou
Copy link
Member Author

tintou commented Feb 23, 2024

@leolost2605 Hmm, this is unfortunately a bug with the Vala compiler (see https://gitlab.gnome.org/GNOME/vala/-/issues/1527 )

@leolost2605
Copy link
Member

Btw another thing I noticed is that with mutter 46 on wayland it will crash with something along the lines "invalid cast from waylandwindow to x11window" and the backtrace pointing to
unowned Meta.Group group = window.x11_get_group ();

@tintou
Copy link
Member Author

tintou commented Feb 24, 2024

FYI, the Vala compiler issue has been fixed upstream https://gitlab.gnome.org/GNOME/vala/-/commit/c63d42e28e7c0acc1b26bd5183c0495aa3a92206

Update to the latest version on time.
@tintou
Copy link
Member Author

tintou commented Mar 4, 2024

Updated to Mutter 46.rc

@tintou
Copy link
Member Author

tintou commented Mar 4, 2024

Btw another thing I noticed is that with mutter 46 on wayland it will crash with something along the lines "invalid cast from waylandwindow to x11window" and the backtrace pointing to unowned Meta.Group group = window.x11_get_group ();

I've added a check around it.

@tintou tintou merged commit 5644c66 into master Mar 6, 2024
4 checks passed
@tintou tintou deleted the tintou/46-v2 branch March 6, 2024 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants