Artic_Ice83
28-12-2007 09:21:27
Hi! i was still playing with scrolling and if i make text boxes go out the borders of a window, don't appear any scroll bar also if i set the window scrollable and if i go with the mouse out the border of the window the application crash.
this is my code:
window = mSheet->createWindow("Controls Window");
window->setDimensions(Rect(10,10,400,500));
window->hideTitlebar();
window->setBringToFrontOnFocus(false);
window->allowResizing(false);
window->allowScrolling(true);
tb123 = window->createTextBox("tb1");
tb123->setDimensions(Rect(10,30,320,30));
tb123->appearOverWidget(window);
QuickGUI::TextBox *tb234 = window->createTextBox("tb2");
tb234->setDimensions(Rect(10,100,320,30));
tb234->appearOverWidget(window);
QuickGUI::TextBox *tb345 = window->createTextBox("tb3");
tb345->setDimensions(Rect(10,500,320,30));
tb345->appearOverWidget(window);
my version is the latest of the svn before the change of the injection...
kungfoomasta
28-12-2007 18:25:13
Are you saying that when the mouse goes outside of the window, a crash occurs? Can you post a call stack?
Regarding scroll bars appearing, they will only appear if you call allowScrolling(true);
Artic_Ice83
28-12-2007 20:07:09
kungfoomasta
28-12-2007 20:46:31
Build the project in "debug" mode. Press "F5" to debug. When the crash occurs, you should be able to view the contents of a "Call Stack" window in Visual Studio. Copy that and paste it here. The error you gave me isn't helpful at all, unfortunately.
Artic_Ice83
29-12-2007 12:34:20
this is the stack call:
msvcp80d.dll!std::_String_val<char,std::allocator<char>>::_String_val<char,std::allocator<char>>()+0x24byte
[I frame indicati di seguito possono essere errati e/o mancanti, non sono stati caricati simboli per msvcp80d.dll]
msvcp80d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>()+0x32byte
QuickGUI_d.dll!QuickGUI::SkinSet::getImageExtension() Riga 432 +0x12byte C++
QuickGUI_d.dll!QuickGUI::Button::applyButtonOverTexture() Riga 41 + 0xf byte C++
QuickGUI_d.dll!QuickGUI::Button::onMouseEnters(const QuickGUI::EventArgs & args={...}) Riga 81 + 0x12 byte C++
QuickGUI_d.dll!QuickGUI::MemberFunctionPointer<QuickGUI::Button>::execute(const QuickGUI::EventArgs & args={...}) Riga 47 + 0x14 byte C++
QuickGUI_d.dll!QuickGUI::Widget::fireEvent(QuickGUI::Widget::Event e=EVENT_MOUSE_ENTER, QuickGUI::EventArgs & args={...}) Riga 914 + 0x29 byte C++
QuickGUI_d.dll!QuickGUI::GUIManager::injectMouseMove(const int & xPixelOffset=3, const int & yPixelOffset=0) Riga 571 + 0x14 byte C++
prova_QuickGUI.exe!MyFrameListener::mouseMoved(const OIS::MouseEvent & arg={...}) Riga 324 + 0x22 byte C++
OIS_d.dll!OIS::Mouse::operator=() + 0xb239 byte
prova_QuickGUI.exe!ExampleFrameListener::frameStarted(const
Ogre::FrameEvent & evt={...}) Riga 320 + 0x17 byte C++
prova_QuickGUI.exe!MyFrameListener::frameStarted(const Ogre::FrameEvent & evt={...}) Riga 307 C++
OgreMain_d.dll!Ogre::Math::Sign() + 0x6f3b84 byte
OgreMain_d.dll!Ogre::Math::Sign() + 0x6f4210 byte
OgreMain_d.dll!Ogre::Math::Sign() + 0x6f4809 byte
OgreMain_d.dll!Ogre::Math::Sign() + 0x6f477f byte
prova_QuickGUI.exe!ExampleApplication::go() Riga 92 + 0xe byte C++
prova_QuickGUI.exe!WinMain(HINSTANCE__ * hInst=0x00400000,
HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x00151f4c, HINSTANCE__ * __formal=0x00000000) Riga 802 + 0xb byte C++
prova_QuickGUI.exe!__tmainCRTStartup() Riga 589 + 0x35 byte C
prova_QuickGUI.exe!WinMainCRTStartup() Riga 414 C
kernel32.dll!RegisterWaitForInputIdle() + 0x49 byte
and here is the screenshot:
http://img165.imageshack.us/my.php?image=stackcallek0.jpg
kungfoomasta
29-12-2007 21:53:33
QuickGUI_d.dll!QuickGUI::Button::applyButtonOverTexture()
You're code doesn't show anything related to buttons...
Update to latest SVN, and reproduce the issue, you should find an error message thrown which should help you some.
Artic_Ice83
30-12-2007 09:44:32
well. i've updated to latest svn and when i run my program comes this error:
"OGRE EXCEPTION(5:): Skin "" does not exist! Did you forget to load it using the SkinSetManager? in Button::applyButtonOverTexture"
I've noted that if i comment the line window->allowScrolling(true); the application don't crash...
what i've to do?
kungfoomasta
31-12-2007 08:03:06
I need more additional information regarding the crash, you aren't giving me all the details. The demo has a window with a hidden title bar, and there are no problems with that. It's saying there is a button with a skin of "" defined. I need to know who the parent of this button is, and why the button's skin is set to "".
Artic_Ice83
31-12-2007 08:48:37
the strange thing is that i haven't any button in my gui!!!the only buttons that adds automatically are those of the scrollar...
kungfoomasta
02-01-2008 00:03:29
Sorry, I looked into this more and I think it's fixed in SVN. Let me know if you still find problems related to this.