Merge branch 'dev' of git.shimatta.de:mhu/gds-render into dev
This commit is contained in:
commit
56591fb675
16
main.c
16
main.c
@ -133,7 +133,7 @@ static const GActionEntry app_actions[] = {
|
|||||||
* @brief Called when a GUI main window is closed
|
* @brief Called when a GUI main window is closed
|
||||||
*
|
*
|
||||||
* The GdsRenderGui object associated with the closed main window
|
* The GdsRenderGui object associated with the closed main window
|
||||||
* is removed from the list of open GUIs (\p user_data) and unreferenced.
|
* is removed from the list of open GUIs (\p user_data) and dereferenced.
|
||||||
*
|
*
|
||||||
* @param gui The GUI instance the closed main window belongs to
|
* @param gui The GUI instance the closed main window belongs to
|
||||||
* @param user_data List of GUIs
|
* @param user_data List of GUIs
|
||||||
@ -184,6 +184,7 @@ static void gapp_activate(GApplication *app, gpointer user_data)
|
|||||||
static int start_gui(int argc, char **argv)
|
static int start_gui(int argc, char **argv)
|
||||||
{
|
{
|
||||||
GtkApplication *gapp;
|
GtkApplication *gapp;
|
||||||
|
GString *application_domain;
|
||||||
int app_status;
|
int app_status;
|
||||||
static struct application_data appdata = {
|
static struct application_data appdata = {
|
||||||
.gui_list = NULL
|
.gui_list = NULL
|
||||||
@ -192,13 +193,22 @@ static int start_gui(int argc, char **argv)
|
|||||||
GMenu *m_quit;
|
GMenu *m_quit;
|
||||||
GMenu *m_about;
|
GMenu *m_about;
|
||||||
|
|
||||||
gapp = gtk_application_new("de.shimatta.gds-render", G_APPLICATION_FLAGS_NONE);
|
/*
|
||||||
|
* Generate version dependent application id
|
||||||
|
* This allows running the application in different versions at the same time.
|
||||||
|
*/
|
||||||
|
application_domain = g_string_new(NULL);
|
||||||
|
g_string_printf(application_domain, "de.shimatta.gds_render_%s", _app_git_commit);
|
||||||
|
|
||||||
|
gapp = gtk_application_new(application_domain->str, G_APPLICATION_FLAGS_NONE);
|
||||||
|
g_string_free(application_domain, TRUE);
|
||||||
|
|
||||||
g_application_register(G_APPLICATION(gapp), NULL, NULL);
|
g_application_register(G_APPLICATION(gapp), NULL, NULL);
|
||||||
g_signal_connect(gapp, "activate", G_CALLBACK(gapp_activate), &appdata);
|
g_signal_connect(gapp, "activate", G_CALLBACK(gapp_activate), &appdata);
|
||||||
|
|
||||||
if (g_application_get_is_remote(G_APPLICATION(gapp)) == TRUE) {
|
if (g_application_get_is_remote(G_APPLICATION(gapp)) == TRUE) {
|
||||||
g_application_activate(G_APPLICATION(gapp));
|
g_application_activate(G_APPLICATION(gapp));
|
||||||
printf("There is already an open instance. Will open second window in said instance.\n");
|
printf("There is already an open instance. Will open second window in that instance.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user