From 6b2f55531a7ed7fc286aae49efc8d123c7ae8ed8 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 26 Jan 2010 12:39:41 +0000 Subject: [PATCH] Try to prevent users from forgetting to include wx.rc from their resources. Document that some of the standard cursors are defined in this file. Also add a (hopefully) helpful assert if loading one of such cursors failed. Closes #11424. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/wx/gdicmn.h | 9 ++++++++- src/msw/cursor.cpp | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/interface/wx/gdicmn.h b/interface/wx/gdicmn.h index e8ae5f3451..2c5d6a7994 100644 --- a/interface/wx/gdicmn.h +++ b/interface/wx/gdicmn.h @@ -58,7 +58,14 @@ enum wxPolygonFillMode }; /** - Standard cursors. See wxCursor. + Standard cursors. + + Notice that under wxMSW some of these cursors are defined in @c wx.rc file + and not by the system itself so you should include this file from your own + resource file (possibly creating a trivial resource file just containing a + single include line if you don't need it otherwise) to be able to use them. + + See wxCursor. */ enum wxStockCursor { diff --git a/src/msw/cursor.cpp b/src/msw/cursor.cpp index fbcf62dd75..dec1344042 100644 --- a/src/msw/cursor.cpp +++ b/src/msw/cursor.cpp @@ -349,6 +349,15 @@ void wxCursor::InitFromStock(wxStockCursor idCursor) if ( !hcursor ) { + if ( !stdCursor.isStd ) + { + // it may be not obvious to the programmer why did loading fail, + // try to help by pointing to the by far the most probable reason + wxFAIL_MSG(wxT("Loading a cursor defined by wxWidgets failed, ") + wxT("did you include include/wx/msw/wx.rc file from ") + wxT("your resource file?")); + } + wxLogLastError(wxT("LoadCursor")); } else -- 2.45.2