summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-08-25 16:18:29 -0400
committerPietro Gagliardi <[email protected]>2014-08-25 16:18:29 -0400
commitb7fd5f035eaaa30c8ae66ffaae1b70017b7360c9 (patch)
treeb2a17516ac4f59d7b6b7eeb2a880b07c9d11a5da
parent910f78c7e59f12d8cd99183c5b0b743f30ee5951 (diff)
Added a third function for comdlg32.dll errors on Windows.
-rw-r--r--redo/common_windows.go5
-rw-r--r--redo/dialog_windows.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/redo/common_windows.go b/redo/common_windows.go
index 38a5510..3ec4ddd 100644
--- a/redo/common_windows.go
+++ b/redo/common_windows.go
@@ -21,6 +21,11 @@ func xpanichresult(msg *C.char, hresult C.HRESULT) {
panic(fmt.Errorf("%s; HRESULT: 0x%X", C.GoString(msg), hresult))
}
+//export xpaniccomdlg
+func xpaniccomdlg(msg *C.char, err C.DWORD) {
+ panic(fmt.Errorf("%s; comdlg32.dll extended error: 0x%X", C.GoString(msg), err))
+}
+
//export xmissedmsg
func xmissedmsg(purpose *C.char, f *C.char, uMsg C.UINT) {
panic(fmt.Errorf("%s window procedure message %d does not return a value (bug in %s)", C.GoString(purpose), uMsg, C.GoString(f)))
diff --git a/redo/dialog_windows.c b/redo/dialog_windows.c
index fff8e95..8b942f3 100644
--- a/redo/dialog_windows.c
+++ b/redo/dialog_windows.c
@@ -47,7 +47,7 @@ WCHAR *openFile(void)
err = CommDlgExtendedError();
if (err == 0) // user cancelled
return NULL;
- xpanic("error running open file dialog", GetLastError());
+ xpaniccomdlg("error running open file dialog", err);
}
return filenameBuffer;
}