summaryrefslogtreecommitdiff
path: root/gtk/gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-06-21 23:24:31 +0100
committerVincent Sanders <vince@kyllikki.org>2015-06-21 23:27:22 +0100
commita94ae7a80a9d96c4aa88995412ea26feafa69f3b (patch)
tree58e908a4642a4a710827d107f6d43c2c97b929b6 /gtk/gui.c
parent67ded2a02a4f3f4d2a0ab156f3343dc93f4ba04c (diff)
downloadnetsurf-a94ae7a80a9d96c4aa88995412ea26feafa69f3b.tar.gz
netsurf-a94ae7a80a9d96c4aa88995412ea26feafa69f3b.tar.bz2
Allow translation messages to be compiled in as GTK resources
Diffstat (limited to 'gtk/gui.c')
-rw-r--r--gtk/gui.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/gtk/gui.c b/gtk/gui.c
index 15348b9af..3a41b605e 100644
--- a/gtk/gui.c
+++ b/gtk/gui.c
@@ -1047,13 +1047,22 @@ static struct gui_browser_table nsgtk_browser_table = {
static nserror nsgtk_messages_init(char **respaths)
{
char *messages;
- nserror ret = NSERROR_NOT_FOUND;
+ nserror ret;
+ const uint8_t *data;
+ size_t data_size;
- /* Obtain path to messages */
- messages = filepath_find(respaths, "Messages");
- if (messages != NULL) {
- ret = messages_add_from_file(messages);
- free(messages);
+ ret = nsgtk_data_from_resname("Messages", &data, &data_size);
+ if (ret == NSERROR_OK) {
+ ret = messages_add_from_inline(data, data_size);
+ } else {
+ /* Obtain path to messages */
+ messages = filepath_find(respaths, "Messages");
+ if (messages != NULL) {
+ ret = messages_add_from_file(messages);
+ free(messages);
+ } else {
+ ret = NSERROR_NOT_FOUND;
+ }
}
return ret;
}