rendered paste bodyIndex: src/common/paws/pawscombopromptwindow.h===================================================================--- src/common/paws/pawscombopromptwindow.h (revision 5573)+++ src/common/paws/pawscombopromptwindow.h (working copy)@@ -45,6 +45,7 @@ //from pawsWidget: virtual bool PostSetup();+ virtual void Close(); bool OnButtonPressed( int mouseButton, int keyModifier, pawsWidget* widget ); void NewOption(const csString & text);Index: src/common/paws/pawsyesnobox.cpp===================================================================--- src/common/paws/pawsyesnobox.cpp (revision 5573)+++ src/common/paws/pawsyesnobox.cpp (working copy)@@ -67,6 +67,8 @@ pawsWidget::Hide(); useCustomIDs = false; + PawsManager::GetSingleton().SetModalWidget( 0 );+ // Reset the ID's back to defaults SetID();@@ -96,7 +98,6 @@ // The parent is responsible for handling the button presses. if ( notify ) {- PawsManager::GetSingleton().SetModalWidget( 0 ); bool result = notify->OnButtonPressed( mouseButton, keyModifier, widget ); SetNotify(0); Hide();@@ -104,12 +105,11 @@ } else if ( handler ) {- PawsManager::GetSingleton().SetModalWidget( 0 );- Hide(); if ( widget == yesButton )- handler( true , owner ); + handler( true , owner ); else handler( false, owner );+ Hide(); return true; } Index: src/common/paws/pawsnumberpromptwindow.h===================================================================--- src/common/paws/pawsnumberpromptwindow.h (revision 5573)+++ src/common/paws/pawsnumberpromptwindow.h (working copy)@@ -49,6 +49,7 @@ bool OnButtonPressed( int mouseButton, int keyModifier, pawsWidget* widget ); virtual bool OnScroll( int scrollDirection, pawsScrollBar* widget ); virtual bool OnChange(pawsWidget * widget);+ virtual void Close(); void Initialize(const csString & label, int number, int minNumber, int maxNumber, iOnNumberEnteredAction * action,const char *name, int param=0);Index: src/common/paws/pawsnumberpromptwindow.cpp===================================================================--- src/common/paws/pawsnumberpromptwindow.cpp (revision 5573)+++ src/common/paws/pawsnumberpromptwindow.cpp (working copy)@@ -86,6 +86,17 @@ return true; } +void pawsNumberPromptWindow::Close()+{+ Hide();+ if (action != NULL)+ {+ action->OnNumberEntered("Cancel",0,-1);+ action = NULL;+ }+ parent->DeleteChild(this);+}+ void pawsNumberPromptWindow::LayoutWindow() { pawsPromptWindow::LayoutWindow();@@ -105,12 +116,7 @@ } else if (widget == cancelButton) {- if (action != NULL)- {- action->OnNumberEntered("Cancel",0,-1);- action = NULL;- }- parent->DeleteChild(this);+ Close(); return true; } return false;Index: src/common/paws/pawscombopromptwindow.cpp===================================================================--- src/common/paws/pawscombopromptwindow.cpp (revision 5573)+++ src/common/paws/pawscombopromptwindow.cpp (working copy)@@ -75,6 +75,18 @@ return true; } +void pawsComboPromptWindow::Close()+{+ Hide();+ if (action != NULL)+ {+ action->OnItemChosen(name, param, -1, "");+ action = NULL;+ }++ parent->DeleteChild(this);+}+ void pawsComboPromptWindow::NewOption(const csString & text) { wrapper->combo->NewOption(text);Index: src/client/gui/pawsguildwindow.cpp===================================================================--- src/client/gui/pawsguildwindow.cpp (revision 5573)+++ src/client/gui/pawsguildwindow.cpp (working copy)@@ -280,7 +280,7 @@ psGUIGuildMessage incomming(me); // Don't open the window twice- if(incomming.command == psGUIGuildMessage::NOT_IN_GUILD && IsCreatingGuild())+ if(incomming.command == psGUIGuildMessage::NOT_IN_GUILD && IsCreatingGuild() && PawsManager::GetSingleton().FindWidget("YesNoWindow")->IsVisible()) return; switch (incomming.command)