diff --git a/include/wx/event.h b/include/wx/event.h index eecc4cd980..2e083e46b5 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -2195,8 +2195,6 @@ private: wxEventTableEntry& operator=(const wxEventTableEntry&); }; -class WXDLLIMPEXP_BASE wxEvtHandler; - // an entry used in dynamic event table managed by wxEvtHandler::Connect() struct WXDLLIMPEXP_BASE wxDynamicEventTableEntry : public wxEventTableEntryBase { @@ -2237,7 +2235,6 @@ struct WXDLLIMPEXP_BASE wxEventTable // ---------------------------------------------------------------------------- WX_DEFINE_ARRAY_PTR(const wxEventTableEntry*, wxEventTableEntryPointerArray); -class WXDLLIMPEXP_BASE wxEvtHandler; class WXDLLIMPEXP_BASE wxEventHashTable { diff --git a/include/wx/list.h b/include/wx/list.h index 82b0b0a3db..505c59ffa6 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -328,8 +328,6 @@ private: extern WXDLLIMPEXP_BASE wxChar* copystring(const wxChar *s); #endif -class WXDLLEXPORT wxObjectListNode; - // undef it to get rid of old, deprecated functions #define wxLIST_COMPATIBILITY diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index 3300be5fe4..bfdc4e971b 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -67,10 +67,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject) -#ifndef DMPAPER_USER - #define DMPAPER_USER 256 -#endif - // ============================================================================ // implementation // ============================================================================ diff --git a/src/common/dynarray.cpp b/src/common/dynarray.cpp index 4f4915a25b..3f8fa81887 100644 --- a/src/common/dynarray.cpp +++ b/src/common/dynarray.cpp @@ -29,10 +29,6 @@ #include #include // for memmove -#ifndef max - #define max(a, b) (((a) > (b)) ? (a) : (b)) -#endif - // we cast the value to long from which we cast it to void * in IndexForInsert: // this can't work if the pointers are not big enough wxCOMPILE_TIME_ASSERT( sizeof(wxUIntPtr) <= sizeof(void *), diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp index be05e44b85..0febe2880f 100644 --- a/src/common/fontmap.cpp +++ b/src/common/fontmap.cpp @@ -330,7 +330,7 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, wxString configEntry, encName = GetEncodingName(encoding); - if ( !facename.IsEmpty() ) + if ( !facename.empty() ) { configEntry = facename + _T("_"); } @@ -354,13 +354,13 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, } else // use the info entered the last time { - if ( !fontinfo.IsEmpty() && !facename.IsEmpty() ) + if ( !fontinfo.empty() && !facename.empty() ) { // we tried to find a match with facename -- now try without it fontinfo = GetConfig()->Read(encName); } - if ( !fontinfo.IsEmpty() ) + if ( !fontinfo.empty() ) { if ( info->FromString(fontinfo) ) { @@ -443,7 +443,6 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, if ( dialog.ShowModal() == wxID_OK ) { wxFontData retData = dialog.GetFontData(); - wxFont font = retData.GetChosenFont(); *info = retData.EncodingInfo(); info->encoding = retData.GetEncoding(); diff --git a/src/common/http.cpp b/src/common/http.cpp index bea35a2335..b2b5a42767 100644 --- a/src/common/http.cpp +++ b/src/common/http.cpp @@ -40,18 +40,16 @@ IMPLEMENT_DYNAMIC_CLASS(wxHTTP, wxProtocol) IMPLEMENT_PROTOCOL(wxHTTP, wxT("http"), wxT("80"), true) -#define HTTP_BSIZE 2048 - wxHTTP::wxHTTP() : wxProtocol() { - m_addr = NULL; - m_read = false; - m_proxy_mode = false; - m_post_buf = wxEmptyString; - m_http_response = 0; + m_addr = NULL; + m_read = false; + m_proxy_mode = false; + m_post_buf = wxEmptyString; + m_http_response = 0; - SetNotify(wxSOCKET_LOST_FLAG); + SetNotify(wxSOCKET_LOST_FLAG); } wxHTTP::~wxHTTP() @@ -68,12 +66,12 @@ void wxHTTP::ClearHeaders() wxString wxHTTP::GetContentType() { - return GetHeader(wxT("Content-Type")); + return GetHeader(wxT("Content-Type")); } void wxHTTP::SetProxyMode(bool on) { - m_proxy_mode = on; + m_proxy_mode = on; } wxHTTP::wxHeaderIterator wxHTTP::FindHeader(const wxString& header) @@ -102,16 +100,16 @@ wxHTTP::wxHeaderConstIterator wxHTTP::FindHeader(const wxString& header) const void wxHTTP::SetHeader(const wxString& header, const wxString& h_data) { - if (m_read) { - ClearHeaders(); - m_read = false; - } + if (m_read) { + ClearHeaders(); + m_read = false; + } - wxHeaderIterator it = FindHeader(header); - if (it != m_headers.end()) - it->second = h_data; - else - m_headers[header] = h_data; + wxHeaderIterator it = FindHeader(header); + if (it != m_headers.end()) + it->second = h_data; + else + m_headers[header] = h_data; } wxString wxHTTP::GetHeader(const wxString& header) const @@ -128,192 +126,200 @@ void wxHTTP::SetPostBuffer(const wxString& post_buf) void wxHTTP::SendHeaders() { - typedef wxStringToStringHashMap::iterator iterator; - wxString buf; + typedef wxStringToStringHashMap::iterator iterator; + wxString buf; - for (iterator it = m_headers.begin(), en = m_headers.end(); it != en; ++it ) - { - buf.Printf(wxT("%s: %s\r\n"), it->first.c_str(), it->second.c_str()); + for (iterator it = m_headers.begin(), en = m_headers.end(); it != en; ++it ) + { + buf.Printf(wxT("%s: %s\r\n"), it->first.c_str(), it->second.c_str()); - const wxWX2MBbuf cbuf = buf.mb_str(); - Write(cbuf, strlen(cbuf)); - } + const wxWX2MBbuf cbuf = buf.mb_str(); + Write(cbuf, strlen(cbuf)); + } } bool wxHTTP::ParseHeaders() { - wxString line; - wxStringTokenizer tokenzr; + wxString line; + wxStringTokenizer tokenzr; - ClearHeaders(); - m_read = true; + ClearHeaders(); + m_read = true; #if defined(__VISAGECPP__) // VA just can't stand while(1) bool bOs2var = true; while(bOs2var) #else - while (1) + while (1) #endif - { - m_perr = GetLine(this, line); - if (m_perr != wxPROTO_NOERR) - return false; + { + m_perr = GetLine(this, line); + if (m_perr != wxPROTO_NOERR) + return false; - if (line.Length() == 0) - break; + if (line.Length() == 0) + break; - wxString left_str = line.BeforeFirst(':'); - m_headers[left_str] = line.AfterFirst(':').Strip(wxString::both); - } - return true; + wxString left_str = line.BeforeFirst(':'); + m_headers[left_str] = line.AfterFirst(':').Strip(wxString::both); + } + return true; } bool wxHTTP::Connect(const wxString& host, unsigned short port) { - wxIPV4address *addr; + wxIPV4address *addr; - if (m_addr) { - delete m_addr; - m_addr = NULL; - Close(); - } + if (m_addr) { + delete m_addr; + m_addr = NULL; + Close(); + } - m_addr = addr = new wxIPV4address(); + m_addr = addr = new wxIPV4address(); - if (!addr->Hostname(host)) { - delete m_addr; - m_addr = NULL; - m_perr = wxPROTO_NETERR; - return false; - } + if (!addr->Hostname(host)) { + delete m_addr; + m_addr = NULL; + m_perr = wxPROTO_NETERR; + return false; + } - if ( port ) addr->Service(port); - else if (!addr->Service(wxT("http"))) - addr->Service(80); + if ( port ) + addr->Service(port); + else if (!addr->Service(wxT("http"))) + addr->Service(80); - SetHeader(wxT("Host"), host); + SetHeader(wxT("Host"), host); - return true; + return true; } bool wxHTTP::Connect(wxSockAddress& addr, bool WXUNUSED(wait)) { - if (m_addr) { - delete m_addr; - Close(); - } + if (m_addr) { + delete m_addr; + Close(); + } - m_addr = addr.Clone(); + m_addr = addr.Clone(); - wxIPV4address *ipv4addr = wxDynamicCast(&addr, wxIPV4address); - if (ipv4addr) - SetHeader(wxT("Host"), ipv4addr->OrigHostname()); + wxIPV4address *ipv4addr = wxDynamicCast(&addr, wxIPV4address); + if (ipv4addr) + SetHeader(wxT("Host"), ipv4addr->OrigHostname()); - return true; + return true; } bool wxHTTP::BuildRequest(const wxString& path, wxHTTP_Req req) { - const wxChar *request; + const wxChar *request; - switch (req) { - case wxHTTP_GET: - request = wxT("GET"); - break; - case wxHTTP_POST: - request = wxT("POST"); - if ( GetHeader( wxT("Content-Length") ).IsNull() ) - SetHeader( wxT("Content-Length"), wxString::Format( wxT("%lu"), (unsigned long)m_post_buf.Len() ) ); - break; - default: - return false; - } + switch (req) + { + case wxHTTP_GET: + request = wxT("GET"); + break; - m_http_response = 0; + case wxHTTP_POST: + request = wxT("POST"); + if ( GetHeader( wxT("Content-Length") ).IsNull() ) + SetHeader( wxT("Content-Length"), wxString::Format( wxT("%lu"), (unsigned long)m_post_buf.Len() ) ); + break; - // If there is no User-Agent defined, define it. - if (GetHeader(wxT("User-Agent")).IsNull()) - SetHeader(wxT("User-Agent"), wxT("wxWidgets 2.x")); + default: + return false; + } - SaveState(); + m_http_response = 0; - // we may use non blocking sockets only if we can dispatch events from them - SetFlags( wxIsMainThread() && wxApp::IsMainLoopRunning() ? wxSOCKET_NONE - : wxSOCKET_BLOCK ); - Notify(false); + // If there is no User-Agent defined, define it. + if (GetHeader(wxT("User-Agent")).IsNull()) + SetHeader(wxT("User-Agent"), wxT("wxWidgets 2.x")); - wxString buf; - buf.Printf(wxT("%s %s HTTP/1.0\r\n"), request, path.c_str()); - const wxWX2MBbuf pathbuf = wxConvLocal.cWX2MB(buf); - Write(pathbuf, strlen(wxMBSTRINGCAST pathbuf)); - SendHeaders(); - Write("\r\n", 2); + SaveState(); - if ( req == wxHTTP_POST ) { - Write(m_post_buf.mbc_str(), m_post_buf.Len()); - m_post_buf = wxEmptyString; - } + // we may use non blocking sockets only if we can dispatch events from them + SetFlags( wxIsMainThread() && wxApp::IsMainLoopRunning() ? wxSOCKET_NONE + : wxSOCKET_BLOCK ); + Notify(false); - wxString tmp_str; - m_perr = GetLine(this, tmp_str); - if (m_perr != wxPROTO_NOERR) { + wxString buf; + buf.Printf(wxT("%s %s HTTP/1.0\r\n"), request, path.c_str()); + const wxWX2MBbuf pathbuf = wxConvLocal.cWX2MB(buf); + Write(pathbuf, strlen(wxMBSTRINGCAST pathbuf)); + SendHeaders(); + Write("\r\n", 2); + + if ( req == wxHTTP_POST ) { + Write(m_post_buf.mbc_str(), m_post_buf.Len()); + m_post_buf = wxEmptyString; + } + + wxString tmp_str; + m_perr = GetLine(this, tmp_str); + if (m_perr != wxPROTO_NOERR) { + RestoreState(); + return false; + } + + if (!tmp_str.Contains(wxT("HTTP/"))) { + // TODO: support HTTP v0.9 which can have no header. + // FIXME: tmp_str is not put back in the in-queue of the socket. + SetHeader(wxT("Content-Length"), wxT("-1")); + SetHeader(wxT("Content-Type"), wxT("none/none")); + RestoreState(); + return true; + } + + wxStringTokenizer token(tmp_str,wxT(' ')); + wxString tmp_str2; + bool ret_value; + + token.NextToken(); + tmp_str2 = token.NextToken(); + + m_http_response = wxAtoi(tmp_str2); + + switch (tmp_str2[0u]) + { + case wxT('1'): + /* INFORMATION / SUCCESS */ + break; + + case wxT('2'): + /* SUCCESS */ + break; + + case wxT('3'): + /* REDIRECTION */ + break; + + default: + m_perr = wxPROTO_NOFILE; + RestoreState(); + return false; + } + + ret_value = ParseHeaders(); RestoreState(); - return false; - } - - if (!tmp_str.Contains(wxT("HTTP/"))) { - // TODO: support HTTP v0.9 which can have no header. - // FIXME: tmp_str is not put back in the in-queue of the socket. - SetHeader(wxT("Content-Length"), wxT("-1")); - SetHeader(wxT("Content-Type"), wxT("none/none")); - RestoreState(); - return true; - } - - wxStringTokenizer token(tmp_str,wxT(' ')); - wxString tmp_str2; - bool ret_value; - - token.NextToken(); - tmp_str2 = token.NextToken(); - - m_http_response = wxAtoi(tmp_str2); - - switch (tmp_str2[0u]) { - case wxT('1'): - /* INFORMATION / SUCCESS */ - break; - case wxT('2'): - /* SUCCESS */ - break; - case wxT('3'): - /* REDIRECTION */ - break; - default: - m_perr = wxPROTO_NOFILE; - RestoreState(); - return false; - } - - ret_value = ParseHeaders(); - RestoreState(); - return ret_value; + return ret_value; } class wxHTTPStream : public wxSocketInputStream { public: - wxHTTP *m_http; - size_t m_httpsize; - unsigned long m_read_bytes; + wxHTTP *m_http; + size_t m_httpsize; + unsigned long m_read_bytes; - wxHTTPStream(wxHTTP *http) : wxSocketInputStream(*http), m_http(http) {} - size_t GetSize() const { return m_httpsize; } - virtual ~wxHTTPStream(void) { m_http->Abort(); } + wxHTTPStream(wxHTTP *http) : wxSocketInputStream(*http), m_http(http) {} + size_t GetSize() const { return m_httpsize; } + virtual ~wxHTTPStream(void) { m_http->Abort(); } protected: - size_t OnSysRead(void *buffer, size_t bufsize); + size_t OnSysRead(void *buffer, size_t bufsize); DECLARE_NO_COPY_CLASS(wxHTTPStream) }; @@ -334,47 +340,47 @@ size_t wxHTTPStream::OnSysRead(void *buffer, size_t bufsize) bool wxHTTP::Abort(void) { - return wxSocketClient::Close(); + return wxSocketClient::Close(); } wxInputStream *wxHTTP::GetInputStream(const wxString& path) { - wxHTTPStream *inp_stream; + wxHTTPStream *inp_stream; - wxString new_path; + wxString new_path; - m_perr = wxPROTO_CONNERR; - if (!m_addr) - return NULL; + m_perr = wxPROTO_CONNERR; + if (!m_addr) + return NULL; - // We set m_connected back to false so wxSocketBase will know what to do. + // We set m_connected back to false so wxSocketBase will know what to do. #ifdef __WXMAC__ - wxSocketClient::Connect(*m_addr , false ); - wxSocketClient::WaitOnConnect(10); + wxSocketClient::Connect(*m_addr , false ); + wxSocketClient::WaitOnConnect(10); if (!wxSocketClient::IsConnected()) return NULL; #else - if (!wxProtocol::Connect(*m_addr)) - return NULL; + if (!wxProtocol::Connect(*m_addr)) + return NULL; #endif - if (!BuildRequest(path, m_post_buf.IsEmpty() ? wxHTTP_GET : wxHTTP_POST)) - return NULL; + if (!BuildRequest(path, m_post_buf.empty() ? wxHTTP_GET : wxHTTP_POST)) + return NULL; - inp_stream = new wxHTTPStream(this); + inp_stream = new wxHTTPStream(this); - if (!GetHeader(wxT("Content-Length")).IsEmpty()) - inp_stream->m_httpsize = wxAtoi(WXSTRINGCAST GetHeader(wxT("Content-Length"))); - else - inp_stream->m_httpsize = (size_t)-1; + if (!GetHeader(wxT("Content-Length")).empty()) + inp_stream->m_httpsize = wxAtoi(WXSTRINGCAST GetHeader(wxT("Content-Length"))); + else + inp_stream->m_httpsize = (size_t)-1; - inp_stream->m_read_bytes = 0; + inp_stream->m_read_bytes = 0; - Notify(false); - SetFlags(wxSOCKET_BLOCK | wxSOCKET_WAITALL); + Notify(false); + SetFlags(wxSOCKET_BLOCK | wxSOCKET_WAITALL); - return inp_stream; + return inp_stream; } #endif // wxUSE_PROTOCOL_HTTP diff --git a/src/common/list.cpp b/src/common/list.cpp index 28f4148c7b..9153599e48 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -594,12 +594,6 @@ void wxObjectListNode::DeleteData() // wxStringList // ---------------------------------------------------------------------------- -static inline wxChar* MYcopystring(const wxString& s) -{ - wxChar* copy = new wxChar[s.length() + 1]; - return wxStrcpy(copy, s.c_str()); -} - static inline wxChar* MYcopystring(const wxChar* s) { wxChar* copy = new wxChar[wxStrlen(s) + 1]; diff --git a/src/generic/dirdlgg.cpp b/src/generic/dirdlgg.cpp index 99e0b1f3d1..f88a9d63ef 100644 --- a/src/generic/dirdlgg.cpp +++ b/src/generic/dirdlgg.cpp @@ -47,8 +47,6 @@ static const int ID_DIRCTRL = 1000; static const int ID_TEXTCTRL = 1001; -static const int ID_OK = 1002; -static const int ID_CANCEL = 1003; static const int ID_NEW = 1004; static const int ID_SHOW_HIDDEN = 1005; static const int ID_GO_HOME = 1006; diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index 0cf73c397e..13315d3949 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -143,11 +143,6 @@ int wxCALLBACK wxFileDataTimeCompare( long data1, long data2, long data) #define IsTopMostDir(dir) (dir.empty()) #endif -#if defined(__DOS__) || defined(__WINDOWS__) || defined(__OS2__) -// defined in src/generic/dirctrlg.cpp -extern bool wxIsDriveAvailable(const wxString& dirName); -#endif - // defined in src/generic/dirctrlg.cpp extern size_t wxGetAvailableDrives(wxArrayString &paths, wxArrayString &names, wxArrayInt &icon_ids); @@ -855,7 +850,6 @@ wxFileCtrl::~wxFileCtrl() #define ID_CHOICE (wxID_FILEDLGG + 8) #define ID_TEXT (wxID_FILEDLGG + 9) #define ID_LIST_CTRL (wxID_FILEDLGG + 10) -#define ID_ACTIVATED (wxID_FILEDLGG + 11) #define ID_CHECK (wxID_FILEDLGG + 12) IMPLEMENT_DYNAMIC_CLASS(wxGenericFileDialog, wxFileDialogBase) diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index a51113da01..72bd336298 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -2243,9 +2243,6 @@ wxListMainWindow::wxListMainWindow( wxWindow *parent, wxSOLID ); - wxSize sz = size; - sz.y = 25; - SetScrollbars( 0, 0, 0, 0, 0, 0 ); wxVisualAttributes attr = wxGenericListCtrl::GetClassDefaultAttributes(); diff --git a/src/generic/statusbr.cpp b/src/generic/statusbr.cpp index ade1ce60ac..0b8cb4868c 100644 --- a/src/generic/statusbr.cpp +++ b/src/generic/statusbr.cpp @@ -56,12 +56,11 @@ END_EVENT_TABLE() // Default status border dimensions #define wxTHICK_LINE_BORDER 2 -#define wxTHICK_LINE_WIDTH 1 void wxStatusBarGeneric::Init() { - m_borderX = wxTHICK_LINE_BORDER; - m_borderY = wxTHICK_LINE_BORDER; + m_borderX = wxTHICK_LINE_BORDER; + m_borderY = wxTHICK_LINE_BORDER; } wxStatusBarGeneric::~wxStatusBarGeneric() @@ -73,34 +72,34 @@ bool wxStatusBarGeneric::Create(wxWindow *parent, long style, const wxString& name) { - if ( !wxWindow::Create(parent, id, - wxDefaultPosition, wxDefaultSize, - style | wxTAB_TRAVERSAL, name) ) - return false; + if ( !wxWindow::Create(parent, id, + wxDefaultPosition, wxDefaultSize, + style | wxTAB_TRAVERSAL, name) ) + return false; - // The status bar should have a themed background - SetThemeEnabled( true ); + // The status bar should have a themed background + SetThemeEnabled( true ); + + InitColours(); - InitColours(); - #ifdef __WXPM__ - SetFont(*wxSMALL_FONT); + SetFont(*wxSMALL_FONT); #endif - // Set the height according to the font and the border size - wxClientDC dc(this); - dc.SetFont(GetFont()); + // Set the height according to the font and the border size + wxClientDC dc(this); + dc.SetFont(GetFont()); - wxCoord y; - dc.GetTextExtent(_T("X"), NULL, &y ); + wxCoord y; + dc.GetTextExtent(_T("X"), NULL, &y ); - int height = (int)( (11*y)/10 + 2*GetBorderY()); + int height = (int)( (11*y)/10 + 2*GetBorderY()); - SetSize(wxDefaultCoord, wxDefaultCoord, wxDefaultCoord, height); + SetSize(wxDefaultCoord, wxDefaultCoord, wxDefaultCoord, height); - SetFieldsCount(1); + SetFieldsCount(1); - return true; + return true; } @@ -213,48 +212,48 @@ void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) ) } #endif - if (GetFont().Ok()) + if (GetFont().Ok()) dc.SetFont(GetFont()); - dc.SetBackgroundMode(wxTRANSPARENT); + dc.SetBackgroundMode(wxTRANSPARENT); #ifdef __WXPM__ - wxColour vColor; + wxColour vColor; - vColor = wxSystemSettings::GetColour(wxSYS_COLOUR_MENUBAR); - ::WinFillRect(dc.m_hPS, &dc.m_vRclPaint, vColor.GetPixel()); + vColor = wxSystemSettings::GetColour(wxSYS_COLOUR_MENUBAR); + ::WinFillRect(dc.m_hPS, &dc.m_vRclPaint, vColor.GetPixel()); #endif - for (int i = 0; i < m_nFields; i ++) + for (int i = 0; i < m_nFields; i ++) DrawField(dc, i); } void wxStatusBarGeneric::DrawFieldText(wxDC& dc, int i) { - int leftMargin = 2; + int leftMargin = 2; - wxRect rect; - GetFieldRect(i, rect); + wxRect rect; + GetFieldRect(i, rect); - wxString text(GetStatusText(i)); + wxString text(GetStatusText(i)); - long x, y; + long x, y; - dc.GetTextExtent(text, &x, &y); + dc.GetTextExtent(text, &x, &y); - int xpos = rect.x + leftMargin; - int ypos = (int) (((rect.height - y) / 2 ) + rect.y + 0.5) ; + int xpos = rect.x + leftMargin; + int ypos = (int) (((rect.height - y) / 2 ) + rect.y + 0.5) ; #if defined( __WXGTK__ ) || defined(__WXMAC__) - xpos++; - ypos++; + xpos++; + ypos++; #endif - dc.SetClippingRegion(rect.x, rect.y, rect.width, rect.height); + dc.SetClippingRegion(rect.x, rect.y, rect.width, rect.height); - dc.DrawText(text, xpos, ypos); + dc.DrawText(text, xpos, ypos); - dc.DestroyClippingRegion(); + dc.DestroyClippingRegion(); } void wxStatusBarGeneric::DrawField(wxDC& dc, int i) @@ -471,4 +470,3 @@ void wxStatusBarGeneric::OnRightDown(wxMouseEvent& event) } #endif // wxUSE_STATUSBAR -