summaryrefslogtreecommitdiff
path: root/frontends
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2020-02-24 11:57:02 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2020-02-24 11:57:02 +0000
commit56a9a25192c31fde2bb3bbb7906f0220285227ab (patch)
tree5839716bd67129144dbaabcb382df883159dfc10 /frontends
parenta970572fc9696b6615ee85165de71aa020a6358b (diff)
downloadnetsurf-56a9a25192c31fde2bb3bbb7906f0220285227ab.tar.gz
netsurf-56a9a25192c31fde2bb3bbb7906f0220285227ab.tar.bz2
Windows: Add nserror reporting function
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'frontends')
-rw-r--r--frontends/windows/gui.c14
-rw-r--r--frontends/windows/gui.h10
2 files changed, 24 insertions, 0 deletions
diff --git a/frontends/windows/gui.c b/frontends/windows/gui.c
index fdfafcf42..9a2c13b23 100644
--- a/frontends/windows/gui.c
+++ b/frontends/windows/gui.c
@@ -182,3 +182,17 @@ nserror win32_warning(const char *warning, const char *detail)
}
+/* exported function documented in windows/gui.h */
+nserror
+win32_report_nserror(nserror error, const char *detail)
+{
+ size_t len = 1 +
+ strlen(messages_get_errorcode(error)) +
+ ((detail != 0) ? strlen(detail) : 0);
+ char message[len];
+ snprintf(message, len, messages_get_errorcode(error), detail);
+ MessageBox(NULL, message, "Warning", MB_ICONWARNING);
+
+ return NSERROR_OK;
+}
+
diff --git a/frontends/windows/gui.h b/frontends/windows/gui.h
index 0633c93e8..957280ae4 100644
--- a/frontends/windows/gui.h
+++ b/frontends/windows/gui.h
@@ -68,6 +68,16 @@ void win32_set_quit(bool q);
nserror win32_warning(const char *warning, const char *detail);
/**
+ * Warn the user of an unexpected nserror.
+ *
+ * \param[in] error The nserror to report
+ * \param[in] detail Additional text to be displayed or NULL.
+ * \return NSERROR_OK on success or error code if there was a
+ * faliure displaying the message to the user.
+ */
+nserror win32_report_nserror(nserror error, const char *detail);
+
+/**
* add a modeless dialog to the special handling list
*/
nserror nsw32_add_dialog(HWND hwndDlg);