| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #define _GNU_SOURCE | ||
| 2 | #include <gtk/gtk.h> | ||
| 3 | #include <stdbool.h> | ||
| 4 | #include "app.h" | ||
| 5 | |||
| 6 | static bool is_gtk_initialized = false; | ||
| 7 | |||
| 8 | 5 | void lazy_init_gtk(){ | |
| 9 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 3 times.
|
5 | if(!is_gtk_initialized){ |
| 10 | 2 | int argc = app__get_argc(); | |
| 11 | 2 | char **argv = app__get_argv(); | |
| 12 | 2 | gtk_init(&argc, &argv); | |
| 13 | 2 | is_gtk_initialized = true; | |
| 14 | } | ||
| 15 | 5 | } | |
| 16 | |||
| 17 | |||
| 18 | 1 | void show_error_message_format(const char * const format, ...){ | |
| 19 | 1 | lazy_init_gtk(); | |
| 20 | |||
| 21 | char * result; | ||
| 22 | va_list arglist; | ||
| 23 | 1 | va_start( arglist, format ); | |
| 24 | 1 | vasprintf( &result, format, arglist ); | |
| 25 | 1 | va_end( arglist ); | |
| 26 | |||
| 27 | 1 | GtkWidget * dialog = gtk_message_dialog_new (NULL,0,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"%s",result); | |
| 28 | 1 | gtk_window_set_title(GTK_WINDOW(dialog), "cmd polkit agent"); | |
| 29 | 1 | gtk_dialog_run(GTK_DIALOG(dialog)); | |
| 30 | 1 | gtk_widget_destroy( GTK_WIDGET(dialog) ); | |
| 31 | 1 | free(result); | |
| 32 | 1 | } | |
| 33 |