Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
closing.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void dt_gui_closing_quit (void)
 
void dt_gui_closing_wait (void)
 

Function Documentation

◆ dt_gui_closing_quit()

void dt_gui_closing_quit ( void  )

Quit, as the user asked from the window, the menu or the dock.

While jobs are running or queued – an export, a preload, a thumbnail being rendered: what the closing window would wait for or drop – a modal window first names them and asks whether to quit all the same or go back. Nothing is cancelled either way: a quit finishes the running jobs and drops the queued ones. With no job, the quit starts at once. GUI thread only.

Definition at line 487 of file closing.c.

References _closing_confirm(), and dt_control_quit().

Referenced by append_file(), and dt_gui_quit_callback().

◆ dt_gui_closing_wait()

void dt_gui_closing_wait ( void  )

Keep the GUI thread in its main loop until every control worker has returned.

Quitting hides the main window at once, but the jobs running at that moment – an export, the thumbnails being rendered, a pipeline – are finished, not abandoned. When that takes more than a moment, a small window says so, names the jobs that have a name, and goes away with the last of them.

This is the handler dt_control_shutdown() waits in: see dt_control_set_shutdown_wait_handler(). GUI thread only. Returns at once when nothing is running.

Definition at line 492 of file closing.c.

References _closing_poll(), DT_CLOSING_POLL_INTERVAL, DT_CLOSING_WAIT, dt_control_workers_alive(), DT_DEBUG_CONTROL, dt_free, dt_print(), FALSE, IS_NULL_PTR, L, dt_closing_t::listed, dt_closing_t::loop, dt_closing_t::mode, dt_closing_t::start, and dt_closing_t::window.

Referenced by dt_gui_gtk_init().