diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-02-24 11:57:02 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-02-24 11:57:02 +0000 |
commit | 56a9a25192c31fde2bb3bbb7906f0220285227ab (patch) | |
tree | 5839716bd67129144dbaabcb382df883159dfc10 /frontends | |
parent | a970572fc9696b6615ee85165de71aa020a6358b (diff) | |
download | netsurf-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.c | 14 | ||||
-rw-r--r-- | frontends/windows/gui.h | 10 |
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); |