projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check for app before making a colour from a name
[wxWidgets.git]
/
src
/
os2
/
dcclient.cpp
diff --git
a/src/os2/dcclient.cpp
b/src/os2/dcclient.cpp
index 083b902b3db14928f33c09e172ee46da0c926322..d02dd2bdcfcd694567846b5c7805f9ea6dc4ddd1 100644
(file)
--- a/
src/os2/dcclient.cpp
+++ b/
src/os2/dcclient.cpp
@@
-70,7
+70,7
@@
static RECT g_paintStruct;
#ifdef __WXDEBUG__
// a global variable which we check to verify that wxPaintDC are only
// created in resopnse to WM_PAINT message - doing this from elsewhere is a
#ifdef __WXDEBUG__
// a global variable which we check to verify that wxPaintDC are only
// created in resopnse to WM_PAINT message - doing this from elsewhere is a
- // common programming error among wxWi
ndow
s programmers and might lead to
+ // common programming error among wxWi
dget
s programmers and might lead to
// very subtle and difficult to debug refresh/repaint bugs.
int g_isPainting = 0;
#endif // __WXDEBUG__
// very subtle and difficult to debug refresh/repaint bugs.
int g_isPainting = 0;
#endif // __WXDEBUG__
@@
-86,6
+86,8
@@
static RECT g_paintStruct;
wxWindowDC::wxWindowDC()
{
m_pCanvas = NULL;
wxWindowDC::wxWindowDC()
{
m_pCanvas = NULL;
+ m_PageSize.cx = m_PageSize.cy = 0;
+
}
wxWindowDC::wxWindowDC(
}
wxWindowDC::wxWindowDC(
@@
-94,8
+96,12
@@
wxWindowDC::wxWindowDC(
{
ERRORID vError;
wxString sError;
{
ERRORID vError;
wxString sError;
+ int nWidth, nHeight;
m_pCanvas = pTheCanvas;
m_pCanvas = pTheCanvas;
+ DoGetSize(&nWidth, &nHeight);
+ m_PageSize.cx = nWidth;
+ m_PageSize.cy = nHeight;
m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(pTheCanvas) );
//
m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(pTheCanvas) );
//
@@
-109,11
+115,17
@@
wxWindowDC::wxWindowDC(
,&m_PageSize
,PU_PELS | GPIF_LONG | GPIA_ASSOC
);
,&m_PageSize
,PU_PELS | GPIF_LONG | GPIA_ASSOC
);
+ if (!m_hPS)
+ {
+ vError = ::WinGetLastError(vHabmain);
+ sError = wxPMErrorToStr(vError);
+ wxLogError("Unable to create presentation space. Error: %s\n", sError.c_str());
+ }
::GpiAssociate(m_hPS, NULLHANDLE);
::GpiAssociate(m_hPS, m_hDC);
//
::GpiAssociate(m_hPS, NULLHANDLE);
::GpiAssociate(m_hPS, m_hDC);
//
- // Set the wxWi
ndow
s color table
+ // Set the wxWi
dget
s color table
//
if (!::GpiCreateLogColorTable( m_hPS
,0L
//
if (!::GpiCreateLogColorTable( m_hPS
,0L
@@
-125,7
+137,7
@@
wxWindowDC::wxWindowDC(
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
- wxLogError("Unable to set current color table. Error: %s\n", sError);
+ wxLogError("Unable to set current color table. Error: %s\n", sError
.c_str()
);
}
::GpiCreateLogColorTable( m_hPS
,0L
}
::GpiCreateLogColorTable( m_hPS
,0L
@@
-142,7
+154,6
@@
wxWindowDC::wxWindowDC(
void wxWindowDC::InitDC()
{
void wxWindowDC::InitDC()
{
- wxColour vColor;
//
// The background mode is only used for text background and is set in
//
// The background mode is only used for text background and is set in
@@
-155,9
+166,10
@@
void wxWindowDC::InitDC()
//
SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID));
//
SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID));
-
vColor.InitFromName("BLACK"
);
+
wxColour vColor( wxT("BLACK")
);
m_pen.SetColour(vColor);
m_pen.SetColour(vColor);
- vColor.Set("WHITE");
+
+ vColor.Set( wxT("WHITE") );
m_brush.SetColour(vColor);
InitializePalette();
wxFont* pFont = new wxFont( 12
m_brush.SetColour(vColor);
InitializePalette();
wxFont* pFont = new wxFont( 12
@@
-214,7
+226,7
@@
wxClientDC::wxClientDC(
,PU_PELS | GPIF_LONG | GPIA_ASSOC
);
,PU_PELS | GPIF_LONG | GPIA_ASSOC
);
- // Set the wxWi
ndow
s color table
+ // Set the wxWi
dget
s color table
if (!::GpiCreateLogColorTable( m_hPS
,0L
,LCOLF_CONSECRGB
if (!::GpiCreateLogColorTable( m_hPS
,0L
,LCOLF_CONSECRGB
@@
-225,7
+237,7
@@
wxClientDC::wxClientDC(
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
- wxLogError("Unable to set current color table. Error: %s\n", sError);
+ wxLogError("Unable to set current color table. Error: %s\n", sError
.c_str()
);
}
::GpiCreateLogColorTable( m_hPS
,0L
}
::GpiCreateLogColorTable( m_hPS
,0L