X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..86a6ecff59dfa3143b9a4a3a452e480e2210300b:/src/os2/app.cpp diff --git a/src/os2/app.cpp b/src/os2/app.cpp index a189a1c8e6..faf14e9be7 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -6,7 +6,7 @@ // Created: 10/13/99 // RCS-ID: $Id$ // Copyright: (c) David Webster -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -33,6 +33,8 @@ #include "wx/dynarray.h" #include "wx/wxchar.h" #include "wx/icon.h" + #include "wx/stdpaths.h" + #include "wx/filename.h" #endif #include "wx/log.h" @@ -80,7 +82,6 @@ extern "C" int _System bsdselect(int, // --------------------------------------------------------------------------- extern wxChar* wxBuffer; -extern wxList* wxWinHandleList; extern wxList WXDLLEXPORT wxPendingDelete; extern wxCursor* g_globalCursor; @@ -115,35 +116,10 @@ struct GsocketCallbackInfo{ void* gsock; }; -// These defines and wrapper functions are used here and in gsockpm.c +// These defines are used here and in gsockpm.cpp #define wxSockReadMask 0x01 #define wxSockWriteMask 0x02 -#ifdef __EMX__ -extern "C" -int wxAppAddSocketHandler(int handle, int mask, - void (*callback)(void*), void * gsock) -{ - return wxTheApp->AddSocketHandler(handle, mask, callback, gsock); -} -extern "C" -void wxAppRemoveSocketHandler(int handle) -{ - wxTheApp->RemoveSocketHandler(handle); -} -#else -// Linkage mode problems using callbacks with extern C in a .cpp module -int wxAppAddSocketHandler(int handle, int mask, - void (*callback)(void*), void * gsock) -{ - return wxTheApp->AddSocketHandler(handle, mask, callback, gsock); -} -void wxAppRemoveSocketHandler(int handle) -{ - wxTheApp->RemoveSocketHandler(handle); -} -#endif - void wxApp::HandleSockets() { bool pendingEvent = FALSE; @@ -244,7 +220,9 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // OS2 has to have an anchorblock // vHabmain = WinInitialize(0); - + wxFileName GetPrefix(argv[0]); + GetPrefix.MakeAbsolute(); + wxStandardPaths::SetInstallPrefix(GetPrefix.GetPath()); if (!vHabmain) { // TODO: at least give some error message here... @@ -261,7 +239,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // wxRedirectIOToConsole(); #endif - wxWinHandleList = new wxList(wxKEY_INTEGER); + wxWinHandleHash = new wxWinHashTable(wxKEY_INTEGER, 100); // This is to foil optimizations in Visual C++ that throw out dummy.obj. // PLEASE DO NOT ALTER THIS. @@ -440,8 +418,8 @@ void wxApp::CleanUp() // TODO: ::DeleteObject( wxDisableButtonBrush ); } - if (wxWinHandleList) - delete wxWinHandleList; + delete wxWinHandleHash; + wxWinHandleHash = NULL; // Delete Message queue if (wxTheApp->m_hMq)