ubuntu / yaru_window.dart

Provides API for interacting with top-level Flutter windows.
https://pub.dev/packages/yaru_window
Mozilla Public License 2.0
22 stars 3 forks source link

onClose does not work #33

Closed Feichtmeier closed 1 year ago

Feichtmeier commented 1 year ago
YaruWindow.of(context).onClose(
      ()  {
       // something here will never be excecuted
        return true;
      },
    );

Maybe the implementation is missing? Didn't look into the code yet but it does not work

jpnurmi commented 1 year ago

Works with Flutter 3.7, not with 3.10. Seems to have been broken by:

jpnurmi commented 1 year ago

flutter pub upgrade or yaru_window: ^0.1.3 should help

Feichtmeier commented 1 year ago

@jpnurmi hmhmhm, it stopped working again :thinking: and it again does not jump into the function

Bildschirmaufzeichnung vom 2023-07-02, 15-51-51.webm

I wonder if anything in minor versions of the packages I use in musicpod changed so I was not aware of any change

the yarus have this version yaru: ^0.9.0 yaru_icons: ^1.0.4 yaru_widgets: ^2.5.0 yaru_window: ^0.1.3 yaru_window_linux: ^0.1.3

in pubspec of musicpod any tip what else might be wrong?

like this the app does not correctly close and each time you open a new window you get one more musicpod :radio: :laughing:

Feichtmeier commented 1 year ago

noticed that when I quit the app run from vscode it quits but leaves this message/error in the terminal

** (musicpod:121098): CRITICAL **: 16:35:56.798: void fl_view_set_textures(FlView *, GdkGLContext *, GPtrArray *): assertion 'FL_IS_VIEW(self)' failed
Feichtmeier commented 1 year ago

Sorry for the noise :bow: :see_no_evil:

It looks like I had a bad my_application.cc which caused the newer yaru window to not work anymore.

here is the diff https://github.com/ubuntu-flutter-community/musicpod/commit/c924895ead0f085fe127c844740d1c7ef933e752 ignore the removal of the tickermixin

The most noteable changes are the position of hdy_init and gtk_widget_show(GTK_WIDGET(window)); gtk_widget_show(GTK_WIDGET(view));

which is explained in handy_window and I have no idea why I moved those calls back. Must be :beer:

However there are more changes and when I left them out it still didnt work as expected so I think all those changes are important. Closing :+1: