Skip to content

Commit 5346d0b

Browse files
committed
Move configure_environment() into application on_startup() handlers in order that e.g. environment variables need not be set, and config files not available, for just calling help.
1 parent 4f3312c commit 5346d0b

10 files changed

+36
-16
lines changed

src/mendingwall.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121
#include <mendingwallapplication.h>
2222

2323
int main(int argc, char* argv[]) {
24-
configure_environment();
25-
g_resources_register(mendingwall_get_resource());
2624
MendingwallApplication* app = mendingwall_application_new();
2725
int status = g_application_run(G_APPLICATION(app), argc, argv);
2826
g_object_unref(app);
2927
return status;
3028
}
29+

src/mendingwall.gresource.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
<file alias="icons/scalable/apps/mendingwall.svg">../data/icons/hicolor/scalable/apps/org.indii.mendingwall.svg</file>
77
</gresource>
88
</gresources>
9+

src/mendingwallapplication.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ static void on_about(MendingwallApplication* self) {
5151
}
5252

5353
static void on_startup(MendingwallApplication* self) {
54+
/* setup */
55+
configure_environment();
56+
g_resources_register(mendingwall_get_resource());
57+
58+
/* builder */
5459
g_autoptr(GtkBuilder) builder = gtk_builder_new_from_resource("/org/indii/mendingwall/main.ui");
5560

5661
/* main window */
@@ -107,3 +112,4 @@ MendingwallApplication* mendingwall_application_new(void) {
107112

108113
return self;
109114
}
115+

src/mendingwallapplication.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,4 @@ G_DECLARE_FINAL_TYPE(MendingwallApplication, mendingwall_application, MENDINGWAL
2929
MendingwallApplication* mendingwall_application_new(void);
3030

3131
G_END_DECLS
32+

src/mendingwallcli.c

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@
1515
* with this program. If not, see <https://www.gnu.org/licenses/>.
1616
*/
1717

18-
#include <config.h>
19-
#include <utility.h>
20-
#include <mendingwallcliapplication.h>
21-
22-
int main(int argc, char* argv[]) {
23-
configure_environment();
24-
MendingwallCLIApplication* app = mendingwall_cli_application_new();
25-
int status = g_application_run(G_APPLICATION(app), argc, argv);
26-
g_object_unref(app);
27-
return status;
28-
}
29-
18+
#include <config.h>
19+
#include <utility.h>
20+
#include <mendingwallcliapplication.h>
21+
22+
int main(int argc, char* argv[]) {
23+
MendingwallCLIApplication* app = mendingwall_cli_application_new();
24+
int status = g_application_run(G_APPLICATION(app), argc, argv);
25+
g_object_unref(app);
26+
return status;
27+
}
28+

src/mendingwallcliapplication.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ struct _MendingwallCLIApplication {
3232

3333
G_DEFINE_TYPE(MendingwallCLIApplication, mendingwall_cli_application, G_TYPE_APPLICATION)
3434

35-
static void on_activate(MendingwallCLIApplication* self) {
35+
static void on_startup(MendingwallCLIApplication* self) {
36+
/* setup */
37+
configure_environment();
38+
3639
/* update configuration */
3740
g_autoptr(GSettings) global = g_settings_new("org.indii.mendingwall");
3841
gboolean themes = g_settings_get_boolean(global, "themes");
@@ -72,6 +75,10 @@ static void on_activate(MendingwallCLIApplication* self) {
7275
}
7376
}
7477

78+
static void on_activate(MendingwallCLIApplication* self) {
79+
//
80+
}
81+
7582
void mendingwall_cli_application_dispose(GObject* o) {
7683
G_OBJECT_CLASS(mendingwall_cli_application_parent_class)->dispose(o);
7784
}
@@ -127,7 +134,9 @@ MendingwallCLIApplication* mendingwall_cli_application_new(void) {
127134
"For more information see https://mendingwall.indii.org");
128135
g_application_add_main_option_entries(G_APPLICATION(self), option_entries);
129136

137+
g_signal_connect(self, "startup", G_CALLBACK(on_startup), NULL);
130138
g_signal_connect(self, "activate", G_CALLBACK(on_activate), NULL);
131139

132140
return self;
133141
}
142+

src/mendingwallcliapplication.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ G_DECLARE_FINAL_TYPE(MendingwallCLIApplication, mendingwall_cli_application, MEN
2626
MendingwallCLIApplication* mendingwall_cli_application_new(void);
2727

2828
G_END_DECLS
29+

src/mendingwalld.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
#include <mendingwalldapplication.h>
2121

2222
int main(int argc, char* argv[]) {
23-
configure_environment();
2423
MendingwallDApplication* app = mendingwall_d_application_new();
2524
int status = g_application_run(G_APPLICATION(app), argc, argv);
2625
g_object_unref(app);
2726
return status;
2827
}
28+

src/mendingwalldapplication.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@ static void on_session_state_changed(MendingwallDApplication* self, gboolean,
133133
}
134134

135135
static void on_startup(MendingwallDApplication* self) {
136+
/* setup */
137+
configure_environment();
138+
136139
/* basic initialization */
137140
self->portal = xdp_portal_initable_new(NULL);
138141
self->global = g_settings_new("org.indii.mendingwall");

src/mendingwalldapplication.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ G_DECLARE_FINAL_TYPE(MendingwallDApplication, mendingwall_d_application, MENDING
2626
MendingwallDApplication* mendingwall_d_application_new(void);
2727

2828
G_END_DECLS
29+

0 commit comments

Comments
 (0)