Removed warnings from ipcbase.cpp

Removed extra wxYields from progress dialog
Yield on wxX11 yields twice


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2002-09-01 17:02:36 +00:00
parent a679468530
commit bbcd408aa7
5 changed files with 52 additions and 59 deletions

View File

@ -31,8 +31,10 @@ IMPLEMENT_CLASS(wxClientBase, wxObject)
IMPLEMENT_CLASS(wxConnectionBase, wxObject)
wxConnectionBase::wxConnectionBase(wxChar *buffer, int size)
: m_buffer(buffer), m_buffersize(size),
m_deletebufferwhendone(false), m_connected(true)
: m_connected(true),
m_buffer(buffer),
m_buffersize(size),
m_deletebufferwhendone(false)
{
if ( buffer == (wxChar *)NULL )
{ // behave like next constructor
@ -42,14 +44,19 @@ wxConnectionBase::wxConnectionBase(wxChar *buffer, int size)
}
wxConnectionBase::wxConnectionBase()
: m_buffersize(0), m_buffer(NULL), m_deletebufferwhendone(true),
m_connected(true)
: m_connected(true),
m_buffer(NULL),
m_buffersize(0),
m_deletebufferwhendone(true)
{
}
wxConnectionBase::wxConnectionBase(wxConnectionBase& copy)
: m_buffer(copy.m_buffer), m_buffersize(copy.m_buffersize),
m_deletebufferwhendone(false), m_connected(copy.m_connected)
: m_connected(copy.m_connected),
m_buffer(copy.m_buffer),
m_buffersize(copy.m_buffersize),
m_deletebufferwhendone(false)
{
// copy constructor would require ref-counted pointer to buffer
wxFAIL_MSG( _T("Copy constructor of wxConnectionBase not implemented") );

View File

@ -269,11 +269,6 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
// Update the display (especially on X, GTK)
wxYield();
// FIXME: shouldn't be needed
#ifdef __WXX11__
wxYield();
#endif
#ifdef __WXMAC__
MacUpdateImmediately();
#endif
@ -337,11 +332,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg)
m_msg->SetLabel(newmsg);
wxYield();
// FIXME: shouldn't be needed
#ifdef __WXX11__
wxYield();
#endif
}
if ( (m_elapsed || m_remaining || m_estimated) && (value != 0) )
@ -382,11 +372,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg)
wxYield();
// FIXME: shouldn't be needed
#ifdef __WXX11__
wxYield();
#endif
(void)ShowModal();
}
else // auto hide
@ -403,11 +388,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg)
{
// update the display
wxYield();
// FIXME: shouldn't be needed
#ifdef __WXX11__
wxYield();
#endif
}
#ifdef __WXMAC__

View File

@ -90,8 +90,8 @@ void wxTimerScheduler::QueueTimer(wxTimerDesc *desc, unsigned long when)
desc->shotTime = when;
desc->running = TRUE;
wxLogTrace("timer", "queued timer %p at tick %i",
desc->timer, when);
wxLogTrace("timer", "queued timer %p at tick %ld",
desc->timer, (long) when);
if ( m_timers )
{
@ -143,8 +143,8 @@ void wxTimerScheduler::NotifyTimers()
if ( !timerDeleted )
{
wxLogTrace("timer", "notified timer %p sheduled for %i",
desc->timer, desc->shotTime);
wxLogTrace("timer", "notified timer %p sheduled for %ld",
desc->timer, (long) desc->shotTime);
desc->deleteFlag = NULL;
if ( !oneShot )

View File

@ -1040,4 +1040,3 @@ void wxFontModule::OnExit()
#endif
// not GTK 2.0

View File

@ -1174,46 +1174,53 @@ void wxExit()
bool wxApp::Yield(bool onlyIfNeeded)
{
bool s_inYield = FALSE;
if ( s_inYield )
// Sometimes only 2 yields seem
// to do the trick, e.g. in the
// progress dialog
int i;
for (i = 0; i < 2; i++)
{
if ( !onlyIfNeeded )
bool s_inYield = FALSE;
if ( s_inYield )
{
wxFAIL_MSG( wxT("wxYield called recursively" ) );
if ( !onlyIfNeeded )
{
wxFAIL_MSG( wxT("wxYield called recursively" ) );
}
return FALSE;
}
return FALSE;
}
s_inYield = TRUE;
s_inYield = TRUE;
// Make sure we have an event loop object,
// or Pending/Dispatch will fail
wxEventLoop* eventLoop = wxEventLoop::GetActive();
wxEventLoop* newEventLoop = NULL;
if (!eventLoop)
{
newEventLoop = new wxEventLoop;
wxEventLoop::SetActive(newEventLoop);
}
// Make sure we have an event loop object,
// or Pending/Dispatch will fail
wxEventLoop* eventLoop = wxEventLoop::GetActive();
wxEventLoop* newEventLoop = NULL;
if (!eventLoop)
{
newEventLoop = new wxEventLoop;
wxEventLoop::SetActive(newEventLoop);
}
while (wxTheApp && wxTheApp->Pending())
wxTheApp->Dispatch();
while (wxTheApp && wxTheApp->Pending())
wxTheApp->Dispatch();
#if wxUSE_TIMER
wxTimer::NotifyTimers();
wxTimer::NotifyTimers();
#endif
ProcessIdle();
ProcessIdle();
if (newEventLoop)
{
wxEventLoop::SetActive(NULL);
delete newEventLoop;
if (newEventLoop)
{
wxEventLoop::SetActive(NULL);
delete newEventLoop;
}
s_inYield = FALSE;
}
s_inYield = FALSE;
return TRUE;
}