X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/df5168c427b51f1ab2b3200a5c8f7626b3d24aae..f2ebd959e6acb8b606355ccbc366e9b42bd5fea0:/src/msw/dde.cpp diff --git a/src/msw/dde.cpp b/src/msw/dde.cpp index cb98067949..72bf2a9230 100644 --- a/src/msw/dde.cpp +++ b/src/msw/dde.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "dde.h" #endif @@ -43,7 +43,6 @@ #include "wx/msw/private.h" #include -#include #include #ifdef __GNUWIN32_OLD__ @@ -195,8 +194,10 @@ extern void wxDDEInitialize() void wxDDECleanUp() { - WX_CLEAR_LIST(wxDDEClientList, wxDDEClientObjects); - WX_CLEAR_LIST(wxDDEServerList, wxDDEServerObjects); + // deleting them later won't work as DDE won't be initialized any more + wxASSERT_MSG( wxDDEServerObjects.empty() && + wxDDEClientObjects.empty(), + _T("all DDE objects should be deleted by now") ); wxAtomTable.clear(); @@ -966,8 +967,7 @@ static wxString DDEStringFromAtom(HSZ hsz) static const size_t len = 256; wxString s; - (void)DdeQueryString(DDEIdInst, hsz, s.GetWriteBuf(len), len, DDE_CP); - s.UngetWriteBuf(); + (void)DdeQueryString(DDEIdInst, hsz, wxStringBuffer(s, len), len, DDE_CP); return s; }