[Newbie] Some problems with MyGUI::newDelegate

jonathanc

20-03-2009 00:20:10

Hi all,

Sorry for asking such a noob question but I have tried all methods and failed ><

I recently setup myGui and everything is fine. So I decided to follow the tutorial and create a simple menu with an exit button. However I am having problems at this line :

button->eventMouseButtonClick = MyGUI::newDelegate(this, &this::requestShutdown());

well I might have missed something but usually I use this->requestShutdown to close the app. However, it doesn't seem to work in this case... Any ideas?

nargil

20-03-2009 00:37:04

Is the method called for sure ? If yes, and it still don't work, then you might want to implement a game state system (just a basic enum), set it from the gui to GS_SHUTDOWN, and handle the shutdown in the main loop.

jonathanc

20-03-2009 15:18:28

Hmmm, but my IntroState class inherites from public of GameState. GameState is where the method requestShutdown is. So I think it *should* work but for some reason it doesn't like what I am trying.

For ex:

void IntroState::keyReleased( const OIS::KeyEvent &e ) {

if( e.key == OIS::KC_ESCAPE ) {

this->requestShutdown();
}


will work but button->eventMouseButtonClick = MyGUI::newDelegate(this, this->requestShutdown()); doesn't. Very sorry bout the noobish questions but am really facing a dead end atm ><

this are some of my errors:
error C2780: 'MyGUI::delegates::IDelegate1<TP1> *MyGUI::delegates::newDelegate(void (__cdecl *)(TP1))' : expects 1 arguments - 2 provided

error C2784: 'MyGUI::delegates::IDelegate1<TP1> *MyGUI::delegates::newDelegate(TObj *,void (__thiscall TObj::* )(TP1))' : could not deduce template argument for 'void (__thiscall TObj::* )(TP1)' from 'void'

edit: Also I notice is I comment the button creation and callback off, the program compiles and runs but whenever the mGUI->inject-calls are made the program crashes.

Altren

20-03-2009 15:26:53

Your function should have specific signature, read this: http://www.ogre3d.org/wiki/index.php/My ... _delegates
Something like
void IntroState::buttonRequestShutdown(MyGUI::WidgetPtr _widget)
{
requestShutdown();
}


button->eventMouseButtonClick = MyGUI::newDelegate(this, &IntroState::buttonRequestShutdown);

jonathanc

20-03-2009 15:50:38

Your function should have specific signature, read this: http://www.ogre3d.org/wiki/index.php/My ... _delegates
Something like
void IntroState::buttonRequestShutdown(MyGUI::WidgetPtr _widget)
{
requestShutdown();
}


button->eventMouseButtonClick = MyGUI::newDelegate(this, &IntroState::buttonRequestShutdown);


Hi! Thanks a lot for the input. Tried that but I have an unhandled exception error pointing to this:
inline WidgetPtr createWidgetT(const Ogre::String & _type, const Ogre::String & _skin, const IntCoord& _coord, Align _align, const Ogre::String & _layer, const Ogre::String & _name = "")
{
return _createWidget(_type, _skin, _coord, _align, _layer, _name);
}


I think perhaps its because of how my whole framework is setup? It's hard for me to explain here but I will link you some of my codes.
This is my IntroState class :
#ifndef PlayState_H
#include "PlayState.h"
#endif

#ifndef GameState_H
#include "GameState.h"
#endif

#include "MyGUI.h"

class IntroState : public GameState{

public:
~IntroState( void );

void enter( void );
void exit( void );
void pause( void );
void resume( void );
void update( unsigned long lTimeElapsed );
void keyPressed( const OIS::KeyEvent &e );
void keyReleased( const OIS::KeyEvent &e );
void mouseMoved( const OIS::MouseEvent &e );
void mousePressed( const OIS::MouseEvent &e, OIS::MouseButtonID id );
void mouseReleased( const OIS::MouseEvent &e, OIS::MouseButtonID id );
static IntroState* getSingletonPtr( void );
void buttonRequestShutdown(MyGUI::WidgetPtr _widget);
void frameStarted(const Ogre::FrameEvent& evt);
MyGUI::Gui * mGUI;


And this is part of my GameState class:
#ifndef GameManager_H
#include "GameManager.h"
#endif

class GameState{
public:
~GameState( void ) { }
virtual void enter( void ) = 0;
virtual void exit( void ) = 0;
virtual void pause( void ) = 0;
virtual void resume( void ) = 0;
virtual void update( unsigned long lTimeElapsed ) = 0;
virtual void keyPressed( const OIS::KeyEvent &e ) = 0;
virtual void keyReleased( const OIS::KeyEvent &e ) = 0;
virtual void mouseMoved( const OIS::MouseEvent &e ) = 0;
virtual void mousePressed( const OIS::MouseEvent &e, OIS::MouseButtonID id ) = 0;
virtual void mouseReleased( const OIS::MouseEvent &e, OIS::MouseButtonID id ) = 0;
void changeState( GameState *state );
void pushState( GameState *state );
void popState( void );
void requestShutdown( void );



and finally this is part of my GameManager class
#ifndef InputManager_H
#include "InputManager.h"
#endif

class GameState;

class GameManager : public OIS::KeyListener, OIS::MouseListener , public Ogre::WindowEventListener {
public:
~GameManager( void );
void startGame(GameState *gameState );
void changeState( GameState *gameState );
void pushState( GameState *gameState );
void popState( void );
void requestShutdown( void );
static GameManager* getSingletonPtr( void );
private:
GameManager( void );
GameManager( const GameManager& ) { }
GameManager & operator = ( const GameManager& );

bool keyPressed( const OIS::KeyEvent &e );
bool keyReleased( const OIS::KeyEvent &e );
bool mouseMoved( const OIS::MouseEvent &e );
bool mousePressed( const OIS::MouseEvent &e, OIS::MouseButtonID id );
bool mouseReleased( const OIS::MouseEvent &e, OIS::MouseButtonID id );


Looking at this structure should I move all the inject calls to the GameManager class?
Again very sorry for all these newbie questions but I have looked at all possible solutions so far but still stuck.

Altren

20-03-2009 16:00:33

Check your MyGUI.log and http://www.ogre3d.org/wiki/index.php/MyGUI_FAQ

jonathanc

20-03-2009 16:34:13

hmm tried moving the mygui stuff all to GameManager everything compiles fine but gets unhandled exception error at runtime that points to:

bool Gui::injectMouseMove( int _absx, int _absy, int _absz) {return mInputManager->injectMouseMove(_absx, _absy, _absz);}
bool Gui::injectMousePress( int _absx, int _absy, MouseButton _id ) {return mInputManager->injectMousePress(_absx, _absy, _id);}
bool Gui::injectMouseRelease( int _absx, int _absy, MouseButton _id ) {return mInputManager->injectMouseRelease(_absx, _absy, _id);}

if I press/move mouse etc first

or at this if I dont press/move mouse

return _createWidget(_type, _skin, _coord, _align, _layer, _name);


silly question but where can I find the log file for MyGUI? I only can find one in the debug folder but that's not updated.

jonathanc

20-03-2009 16:53:15

Right, did some debugging by inserting breakpoints and apparently the crash starts during this call in IntroState:

MyGUI::ButtonPtr button = mGUI->createWidget<MyGUI::Button>("Button", 10, 10, 300, 26, MyGUI::ALIGN_DEFAULT, "Main");

I currently update that every frame in IntroState since that's what I did with overlays. I am not sure if I should do that?

Altren

20-03-2009 16:54:14

Show me your log. It creates near your exe same way as Ogre.log.

jonathanc

20-03-2009 17:02:42

Show me your log. It creates near your exe same way as Ogre.log.

Found this (but its not updated - I forgot to include myGUI media folder then but its in resources now)

----------------------------------------------------------------------------------------------------------------------------------
loging report for : 03/20/2009 15:50:08
----------------------------------------------------------------------------------------------------------------------------------

15:50:08 | General | Info | * Initialise: Gui | c:\mygui\myguiengine\src\mygui_gui.cpp | 41
15:50:08 | General | Info | * MyGUI version 2.2.0 | c:\mygui\myguiengine\src\mygui_gui.cpp | 45
15:50:08 | General | Info | Viewport : 1280 1016 | c:\mygui\myguiengine\src\mygui_gui.cpp | 53
15:50:08 | General | Info | * Initialise: LayerManager | c:\mygui\myguiengine\src\mygui_layermanager.cpp | 26
15:50:08 | General | Info | LayerManager successfully initialized | c:\mygui\myguiengine\src\mygui_layermanager.cpp | 46
15:50:08 | General | Info | * Initialise: WidgetManager | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 42
15:50:08 | General | Info | * Register widget factory 'Widget' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Button' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Window' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'List' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'HScroll' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'VScroll' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Edit' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'ComboBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'StaticText' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Sheet' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Tab' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Progress' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'ItemBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'MultiList' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'StaticImage' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'Message' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | Register value : 'Ok' = 1 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 151
15:50:08 | General | Info | Register value : 'Yes' = 2 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 152
15:50:08 | General | Info | Register value : 'No' = 4 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 153
15:50:08 | General | Info | Register value : 'Abort' = 8 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 154
15:50:08 | General | Info | Register value : 'Retry' = 16 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 155
15:50:08 | General | Info | Register value : 'Ignore' = 32 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 156
15:50:08 | General | Info | Register value : 'Cancel' = 64 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 157
15:50:08 | General | Info | Register value : 'Try' = 128 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 158
15:50:08 | General | Info | Register value : 'Continue' = 256 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 159
15:50:08 | General | Info | Register value : 'OkCancel' = 65 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 160
15:50:08 | General | Info | Register value : 'YesNo' = 6 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 161
15:50:08 | General | Info | Register value : 'YesNoCancel' = 70 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 162
15:50:08 | General | Info | Register value : 'RetryCancel' = 80 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 163
15:50:08 | General | Info | Register value : 'AbortRetryIgnore' = 56 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 164
15:50:08 | General | Info | Register value : 'CancelTryContinue' = 448 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 165
15:50:08 | General | Info | Register value : 'IconDefault' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 167
15:50:08 | General | Info | Register value : 'IconInfo' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 169
15:50:08 | General | Info | Register value : 'IconQuest' = 131072 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 170
15:50:08 | General | Info | Register value : 'IconError' = 262144 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 171
15:50:08 | General | Info | Register value : 'IconWarning' = 524288 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 172
15:50:08 | General | Info | Register value : 'Icon1' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 174
15:50:08 | General | Info | Register value : 'Icon2' = 131072 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 175
15:50:08 | General | Info | Register value : 'Icon3' = 262144 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 176
15:50:08 | General | Info | Register value : 'Icon4' = 524288 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 177
15:50:08 | General | Info | Register value : 'Icon5' = 1048576 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 178
15:50:08 | General | Info | Register value : 'Icon6' = 2097152 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 179
15:50:08 | General | Info | Register value : 'Icon7' = 4194304 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 180
15:50:08 | General | Info | Register value : 'Icon8' = 8388608 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 181
15:50:08 | General | Info | * Register widget factory 'RenderBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'FooBar' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'PopupMenu' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | * Register widget factory 'MenuBar' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
15:50:08 | General | Info | WidgetManager successfully initialized | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 68
15:50:08 | General | Info | * Initialise: InputManager | c:\mygui\myguiengine\src\mygui_inputmanager.cpp | 32
15:50:08 | General | Info | InputManager successfully initialized | c:\mygui\myguiengine\src\mygui_inputmanager.cpp | 53
15:50:08 | General | Info | * Initialise: SubWidgetManager | c:\mygui\myguiengine\src\mygui_subwidgetmanager.cpp | 17
15:50:08 | General | Info | SubWidgetManager successfully initialized | c:\mygui\myguiengine\src\mygui_subwidgetmanager.cpp | 33
15:50:08 | General | Info | * Initialise: SkinManager | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 26
15:50:08 | General | Info | Register value : 'ALIGN_HCENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 31
15:50:08 | General | Info | Register value : 'ALIGN_VCENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 32
15:50:08 | General | Info | Register value : 'ALIGN_CENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 33
15:50:08 | General | Info | Register value : 'ALIGN_CENTER_PARENT' = 1 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 34
15:50:08 | General | Info | Register value : 'ALIGN_LEFT' = 2 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 35
15:50:08 | General | Info | Register value : 'ALIGN_RIGHT' = 4 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 36
15:50:08 | General | Info | Register value : 'ALIGN_HSTRETCH' = 6 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 37
15:50:08 | General | Info | Register value : 'ALIGN_TOP' = 8 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 38
15:50:08 | General | Info | Register value : 'ALIGN_BOTTOM' = 16 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 39
15:50:08 | General | Info | Register value : 'ALIGN_VSTRETCH' = 24 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 40
15:50:08 | General | Info | Register value : 'ALIGN_STRETCH' = 30 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 41
15:50:08 | General | Info | Register value : 'ALIGN_DEFAULT' = 10 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 42
15:50:08 | General | Info | SkinManager successfully initialized | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 46
15:50:08 | General | Info | * Initialise: FontManager | c:\mygui\myguiengine\src\mygui_fontmanager.cpp | 24
15:50:08 | General | Info | FontManager successfully initialized | c:\mygui\myguiengine\src\mygui_fontmanager.cpp | 28
15:50:08 | General | Info | * Initialise: ControllerManager | c:\mygui\myguiengine\src\mygui_controllermanager.cpp | 20
15:50:08 | General | Info | ControllerManager successfully initialized | c:\mygui\myguiengine\src\mygui_controllermanager.cpp | 24
15:50:08 | General | Info | * Initialise: PointerManager | c:\mygui\myguiengine\src\mygui_pointermanager.cpp | 24
15:50:08 | General | Info | PointerManager successfully initialized | c:\mygui\myguiengine\src\mygui_pointermanager.cpp | 33
15:50:08 | General | Info | * Initialise: ClipboardManager | c:\mygui\myguiengine\src\mygui_clipboardmanager.cpp | 19
15:50:08 | General | Info | ClipboardManager successfully initialized | c:\mygui\myguiengine\src\mygui_clipboardmanager.cpp | 26
15:50:08 | General | Info | * Initialise: LayoutManager | c:\mygui\myguiengine\src\mygui_layoutmanager.cpp | 25
15:50:08 | General | Info | LayoutManager successfully initialized | c:\mygui\myguiengine\src\mygui_layoutmanager.cpp | 30
15:50:08 | General | Info | * Initialise: DynLibManager | c:\mygui\myguiengine\src\mygui_dynlibmanager.cpp | 18
15:50:08 | General | Info | DynLibManager successfully initialized | c:\mygui\myguiengine\src\mygui_dynlibmanager.cpp | 20
15:50:08 | General | Info | * Initialise: PluginManager | c:\mygui\myguiengine\src\mygui_pluginmanager.cpp | 21
15:50:08 | General | Info | PluginManager successfully initialized | c:\mygui\myguiengine\src\mygui_pluginmanager.cpp | 25
15:50:08 | General | Error | Gui : 'core.xml' not found | c:\mygui\myguiengine\src\mygui_gui.cpp | 272
15:50:08 | General | Info | Gui successfully initialized | c:\mygui\myguiengine\src\mygui_gui.cpp | 91

Altren

20-03-2009 17:55:39

Oh, come on, I can't say you anything from old log with old errors. Run your app in debug and try to step into button creation.

jonathanc

20-03-2009 19:03:32

right after tinkering I managed to get the latest log. I had to disable the line myGUI->setSceneManager(); call or it will crash out. But if I do that I get "instance widgetManager was not created in myGUI as c:\mygui\myguiengine\src\mygui_widgetmanager"

Thanks for all help you can offer

----------------------------------------------------------------------------------------------------------------------------------
loging report for : 03/20/2009 18:54:11
----------------------------------------------------------------------------------------------------------------------------------

18:54:11 | General | Info | * Initialise: Gui | c:\mygui\myguiengine\src\mygui_gui.cpp | 41
18:54:11 | General | Info | * MyGUI version 2.2.0 | c:\mygui\myguiengine\src\mygui_gui.cpp | 45
18:54:11 | General | Info | Viewport : 1280 1016 | c:\mygui\myguiengine\src\mygui_gui.cpp | 53
18:54:11 | General | Info | * Initialise: LayerManager | c:\mygui\myguiengine\src\mygui_layermanager.cpp | 26
18:54:11 | General | Info | LayerManager successfully initialized | c:\mygui\myguiengine\src\mygui_layermanager.cpp | 46
18:54:11 | General | Info | * Initialise: WidgetManager | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 42
18:54:11 | General | Info | * Register widget factory 'Widget' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Button' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Window' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'List' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'HScroll' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'VScroll' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Edit' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'ComboBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'StaticText' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Sheet' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Tab' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Progress' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'ItemBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'MultiList' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'StaticImage' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'Message' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | Register value : 'Ok' = 1 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 151
18:54:11 | General | Info | Register value : 'Yes' = 2 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 152
18:54:11 | General | Info | Register value : 'No' = 4 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 153
18:54:11 | General | Info | Register value : 'Abort' = 8 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 154
18:54:11 | General | Info | Register value : 'Retry' = 16 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 155
18:54:11 | General | Info | Register value : 'Ignore' = 32 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 156
18:54:11 | General | Info | Register value : 'Cancel' = 64 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 157
18:54:11 | General | Info | Register value : 'Try' = 128 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 158
18:54:11 | General | Info | Register value : 'Continue' = 256 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 159
18:54:11 | General | Info | Register value : 'OkCancel' = 65 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 160
18:54:11 | General | Info | Register value : 'YesNo' = 6 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 161
18:54:11 | General | Info | Register value : 'YesNoCancel' = 70 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 162
18:54:11 | General | Info | Register value : 'RetryCancel' = 80 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 163
18:54:11 | General | Info | Register value : 'AbortRetryIgnore' = 56 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 164
18:54:11 | General | Info | Register value : 'CancelTryContinue' = 448 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 165
18:54:11 | General | Info | Register value : 'IconDefault' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 167
18:54:11 | General | Info | Register value : 'IconInfo' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 169
18:54:11 | General | Info | Register value : 'IconQuest' = 131072 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 170
18:54:11 | General | Info | Register value : 'IconError' = 262144 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 171
18:54:11 | General | Info | Register value : 'IconWarning' = 524288 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 172
18:54:11 | General | Info | Register value : 'Icon1' = 65536 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 174
18:54:11 | General | Info | Register value : 'Icon2' = 131072 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 175
18:54:11 | General | Info | Register value : 'Icon3' = 262144 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 176
18:54:11 | General | Info | Register value : 'Icon4' = 524288 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 177
18:54:11 | General | Info | Register value : 'Icon5' = 1048576 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 178
18:54:11 | General | Info | Register value : 'Icon6' = 2097152 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 179
18:54:11 | General | Info | Register value : 'Icon7' = 4194304 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 180
18:54:11 | General | Info | Register value : 'Icon8' = 8388608 | c:\mygui\myguiengine\src\mygui_messagefactory.cpp | 181
18:54:11 | General | Info | * Register widget factory 'RenderBox' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'FooBar' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'PopupMenu' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | * Register widget factory 'MenuBar' | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 93
18:54:11 | General | Info | WidgetManager successfully initialized | c:\mygui\myguiengine\src\mygui_widgetmanager.cpp | 68
18:54:11 | General | Info | * Initialise: InputManager | c:\mygui\myguiengine\src\mygui_inputmanager.cpp | 32
18:54:11 | General | Info | InputManager successfully initialized | c:\mygui\myguiengine\src\mygui_inputmanager.cpp | 53
18:54:11 | General | Info | * Initialise: SubWidgetManager | c:\mygui\myguiengine\src\mygui_subwidgetmanager.cpp | 17
18:54:11 | General | Info | SubWidgetManager successfully initialized | c:\mygui\myguiengine\src\mygui_subwidgetmanager.cpp | 33
18:54:11 | General | Info | * Initialise: SkinManager | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 26
18:54:11 | General | Info | Register value : 'ALIGN_HCENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 31
18:54:11 | General | Info | Register value : 'ALIGN_VCENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 32
18:54:11 | General | Info | Register value : 'ALIGN_CENTER' = 0 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 33
18:54:11 | General | Info | Register value : 'ALIGN_CENTER_PARENT' = 1 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 34
18:54:11 | General | Info | Register value : 'ALIGN_LEFT' = 2 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 35
18:54:11 | General | Info | Register value : 'ALIGN_RIGHT' = 4 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 36
18:54:11 | General | Info | Register value : 'ALIGN_HSTRETCH' = 6 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 37
18:54:11 | General | Info | Register value : 'ALIGN_TOP' = 8 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 38
18:54:11 | General | Info | Register value : 'ALIGN_BOTTOM' = 16 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 39
18:54:11 | General | Info | Register value : 'ALIGN_VSTRETCH' = 24 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 40
18:54:11 | General | Info | Register value : 'ALIGN_STRETCH' = 30 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 41
18:54:11 | General | Info | Register value : 'ALIGN_DEFAULT' = 10 | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 42
18:54:11 | General | Info | SkinManager successfully initialized | c:\mygui\myguiengine\src\mygui_skinmanager.cpp | 46
18:54:11 | General | Info | * Initialise: FontManager | c:\mygui\myguiengine\src\mygui_fontmanager.cpp | 24
18:54:11 | General | Info | FontManager successfully initialized | c:\mygui\myguiengine\src\mygui_fontmanager.cpp | 28
18:54:11 | General | Info | * Initialise: ControllerManager | c:\mygui\myguiengine\src\mygui_controllermanager.cpp | 20
18:54:11 | General | Info | ControllerManager successfully initialized | c:\mygui\myguiengine\src\mygui_controllermanager.cpp | 24
18:54:11 | General | Info | * Initialise: PointerManager | c:\mygui\myguiengine\src\mygui_pointermanager.cpp | 24
18:54:11 | General | Info | PointerManager successfully initialized | c:\mygui\myguiengine\src\mygui_pointermanager.cpp | 33
18:54:11 | General | Info | * Initialise: ClipboardManager | c:\mygui\myguiengine\src\mygui_clipboardmanager.cpp | 19
18:54:11 | General | Info | ClipboardManager successfully initialized | c:\mygui\myguiengine\src\mygui_clipboardmanager.cpp | 26
18:54:11 | General | Info | * Initialise: LayoutManager | c:\mygui\myguiengine\src\mygui_layoutmanager.cpp | 25
18:54:11 | General | Info | LayoutManager successfully initialized | c:\mygui\myguiengine\src\mygui_layoutmanager.cpp | 30
18:54:11 | General | Info | * Initialise: DynLibManager | c:\mygui\myguiengine\src\mygui_dynlibmanager.cpp | 18
18:54:11 | General | Info | DynLibManager successfully initialized | c:\mygui\myguiengine\src\mygui_dynlibmanager.cpp | 20
18:54:11 | General | Info | * Initialise: PluginManager | c:\mygui\myguiengine\src\mygui_pluginmanager.cpp | 21
18:54:11 | General | Info | PluginManager successfully initialized | c:\mygui\myguiengine\src\mygui_pluginmanager.cpp | 25
18:54:11 | General | Info | Load ini file 'core.lang' from resource group : General | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Info | Load ini file 'core.layer' from resource group : General | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Info | Load ini file 'core.skin' from resource group : General | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Info | Load ini file 'core.font' from resource group : General | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Info | Load ini file 'core.pointer' from resource group : General | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Info | Load ini file 'core.plugin' from current path | c:\mygui\myguiengine\src\mygui_gui.cpp | 335
18:54:11 | General | Error | Gui : 'XML_ERROR_OPEN_FILE' core.plugin | c:\mygui\myguiengine\src\mygui_gui.cpp | 280
18:54:11 | General | Info | Gui successfully initialized | c:\mygui\myguiengine\src\mygui_gui.cpp | 91

Altren

20-03-2009 21:13:20

Show me your initialization code.

jonathanc

20-03-2009 21:31:15

Show me your initialization code.

void GameManager::startGame( GameState *gameState) {
createRoot();
defineResources();
setupRenderSystem();
createRenderWindow();
initializeResourceGroups();
setupInputSystem();

this->changeState( gameState );

//myGUI stuff
mGUI->initialise(mRenderWindow);
mGUI->hidePointer();

unsigned long lTimeLastFrame = 0;

while( !bShutdown ) {
// Calculate time since last frame and remember current time for next frame
unsigned long lTimeCurrentFrame = mRoot->getTimer()->getMilliseconds();
unsigned long lTimeSinceLastFrame = lTimeCurrentFrame - lTimeLastFrame;
lTimeSinceLastFrame = lTimeSinceLastFrame;
lTimeLastFrame = lTimeCurrentFrame;

// Update inputmanager
mInputMgr->capture();

mGUI->injectFrameEntered(lTimeSinceLastFrame);

// Update current state
mStates.back()->update( lTimeSinceLastFrame );

WindowEventUtilities::messagePump();//yys
// Render next frame
mRoot->renderOneFrame();
}
}

jonathanc

20-03-2009 21:41:34

Did some breakpoints in the code and it crashes when this is called in IntroState::enter :

mGUI->setSceneManager(mSceneMgr);

and error points to

if (null != mSceneManager) mSceneManager->removeRenderQueueListener(this);

in Layermanager::setSceneManager

Illidanz

21-03-2009 08:08:52

To me, this was happening when I was deleting the MyGUI sceneManager prior to changing it.

You can do that:
mGUI->setSceneManager(nullptr);
//- destroy the old sceneManager
mGUI->setSceneManager(newSceneManager);

This worked for me