Fix accept/reject lifetime in gtk file dialog
This commit is contained in:
parent
36acf60f7e
commit
8fd1d16db6
|
@ -110,7 +110,6 @@ private:
|
||||||
|
|
||||||
rpl::event_stream<> _accept;
|
rpl::event_stream<> _accept;
|
||||||
rpl::event_stream<> _reject;
|
rpl::event_stream<> _reject;
|
||||||
rpl::lifetime _lifetime;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -208,16 +207,17 @@ void QGtkDialog::exec() {
|
||||||
} else {
|
} else {
|
||||||
// block input to the window, allow input to other GTK dialogs
|
// block input to the window, allow input to other GTK dialogs
|
||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
|
rpl::lifetime lifetime;
|
||||||
|
|
||||||
accept(
|
accept(
|
||||||
) | rpl::start_with_next([=, &loop] {
|
) | rpl::start_with_next([&] {
|
||||||
loop.quit();
|
loop.quit();
|
||||||
}, _lifetime);
|
}, lifetime);
|
||||||
|
|
||||||
reject(
|
reject(
|
||||||
) | rpl::start_with_next([=, &loop] {
|
) | rpl::start_with_next([&] {
|
||||||
loop.quit();
|
loop.quit();
|
||||||
}, _lifetime);
|
}, lifetime);
|
||||||
|
|
||||||
loop.exec();
|
loop.exec();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue