diff options
| author | Mike Wey | 2012-09-17 12:02:10 +0200 |
|---|---|---|
| committer | Mike Wey | 2012-09-17 12:02:10 +0200 |
| commit | 788bbf93f61be486063e68ec1f7ce05a779a2db6 (patch) | |
| tree | 758c85b9783a73d2de2ac4aef287a4e1b75a2c22 | |
| parent | 4ec19c0bacb680c0ba676214655954f8eae54510 (diff) | |
Make WinProc nothrow.
| -rw-r--r-- | dmagick/internal/Windows.d | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/dmagick/internal/Windows.d b/dmagick/internal/Windows.d index 3d7628e..13bf3c5 100644 --- a/dmagick/internal/Windows.d +++ b/dmagick/internal/Windows.d @@ -110,29 +110,33 @@ class Window } } - extern(Windows) static LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) + extern(Windows) nothrow static LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { - switch (message) + try { - case WM_ERASEBKGND: // don't redraw bg - return 1; - - case WM_PAINT: - windows[hwnd].draw(); - return 0; - - case WM_TIMER: - windows[hwnd].nextFrame(); - return 0; - - case WM_DESTROY: - windows[hwnd] = null; - PostQuitMessage(0); - return 0; - - default: + switch (message) + { + case WM_ERASEBKGND: // don't redraw bg + return 1; + + case WM_PAINT: + windows[hwnd].draw(); + return 0; + + case WM_TIMER: + windows[hwnd].nextFrame(); + return 0; + + case WM_DESTROY: + windows[hwnd] = null; + PostQuitMessage(0); + return 0; + + default: + } } - + catch(Exception e){} + return DefWindowProcA(hwnd, message, wParam, lParam); } |
