I fixed it! The code that was causing the error is:

#ifdef CS_DEBUG

// enable all kinds of useful FPU exceptions on a x86

// note that we can't do it above since at least on OS/2 each dynamic

// library on loading/initialization resets the control word to default

csControl87 (0x33, 0x3f);

#else

// this will disable exceptions on DJGPP (for the non-debug version)

csControl87 (0x3f, 0x3f);

#endif



Which had come from the walktest app.

  ----- Original Message ----- 
  From: David Hendrickson 
  To: [email protected] 
  Sent: Wednesday, December 06, 2006 11:00 AM
  Subject: [CsMain] Floating point exception in CEGUI


  Greetings,

  I am attempting to add CEGUI into my app and am getting a curious error while 
trying to load the layout:

  Floating point exception (core dumped)


  I have performed a backtrace, here is the output:

  Program received signal SIGFPE, Arithmetic exception.
  [Switching to Thread -1227782480 (LWP 23030)]
  0xad39e4bc in CEGUI::FalagardScrollbar::updateThumb (this=0x98cd000) at 
FalScrollbar.cpp:87
  87 theThumb->setHorzRange(area.d_left / w->getPixelSize().d_width, 
(area.d_left + slideExtent) / w->getPixelSize().d_width);
  (gdb) backtrace
  #0 0xad39e4bc in CEGUI::FalagardScrollbar::updateThumb (this=0x98cd000) at 
FalScrollbar.cpp:87
  #1 0xad39de41 in CEGUI::FalagardScrollbar::performChildWindowLayout 
(this=0x98cd000) at FalScrollbar.cpp:63
  #2 0xb7e0d64f in CEGUI::Window::performChildWindowLayout (this=0x98ca030) at 
CEGUIWindow.cpp:2246
  #3 0xb7e826d2 in CEGUI::Scrollbar::initialiseComponents (this=0x98ca030) at 
elements/CEGUIScrollbar.cpp:118
  #4 0xb7e0ba7e in CEGUI::Window::setLookNFeel (this=0x98ca030, [EMAIL 
PROTECTED]) at CEGUIWindow.cpp:2201
  #5 0xb7e2071b in CEGUI::WindowManager::createWindow (this=0x97b4cc8, [EMAIL 
PROTECTED], [EMAIL PROTECTED]) at CEGUIWindowManager.cpp:107
  #6 0xb7eb7cfa in CEGUI::WidgetComponent::create (this=0x98607a8, [EMAIL 
PROTECTED]) at falagard/CEGUIFalWidgetComponent.cpp:50
  #7 0xb7eba528 in CEGUI::WidgetLookFeel::initialiseWidget (this=0x9860168, 
[EMAIL PROTECTED]) at falagard/CEGUIFalWidgetLookFeel.cpp:132
  #8 0xb7e0ba73 in CEGUI::Window::setLookNFeel (this=0x98c7a70, [EMAIL 
PROTECTED]) at CEGUIWindow.cpp:2199
  #9 0xb7e2071b in CEGUI::WindowManager::createWindow (this=0x97b4cc8, [EMAIL 
PROTECTED], [EMAIL PROTECTED]) at CEGUIWindowManager.cpp:107
  #10 0xb7dd296f in CEGUI::GUILayout_xmlHandler::elementWindowStart 
(this=0xbfeed2c4, [EMAIL PROTECTED]) at CEGUIGUILayout_xmlHandler.cpp:205



  The code I am using is almost identical to the code found in the ceguitest 
app, and I am using identical data files (ice.layout, ice.scheme, etc) as the 
ceguitest app. The ceguitest app is still working perfectly. The only major 
difference is that my app is using CEL. Here is the related code:

    // Initialize CEGUI wrapper
    cegui->Initialize ();

    // Set the logging level
    cegui->GetLoggerPtr ()->setLoggingLevel(CEGUI::Informative);

  #if (CEGUI_VERSION_MAJOR == 0) && (CEGUI_VERSION_MINOR >= 5)
    // Use the 0.5 version of the skin
    myVFS->ChDir ("/ceguitest/0.5/");
  #else
    // Use the old version of the skin
    myVFS->ChDir ("/ceguitest/");
  #endif

    // Load the ice skin (which uses Falagard skinning system)
    cegui->GetSchemeManagerPtr ()->loadScheme("ice.scheme");
    cegui->GetSystemPtr ()->setDefaultMouseCursor("ice", "MouseArrow");

  #if (CEGUI_VERSION_MAJOR == 0) && (CEGUI_VERSION_MINOR >= 5)
    CEGUI::Font* font = cegui->GetFontManagerPtr ()->createFont("FreeType", 
"Vera", "/fonts/ttf/Vera.ttf");
    font->setProperty("PointSize", "10");
    font->load();
  #else
    cegui->GetFontManagerPtr ()->createFont("Vera", "/fonts/ttf/Vera.ttf", 10, 
CEGUI::Default);
  #endif

    CEGUI::WindowManager* winMgr = cegui->GetWindowManagerPtr ();

    // Load layout and set as root
    cegui->GetSystemPtr ()->setGUISheet(winMgr->loadWindowLayout("ice.layout"));

    // Subscribe to the clicked event for the exit button
    CEGUI::Window* btn = winMgr->getWindow("Demo7/Window1/Quit");
    btn->subscribeEvent(CEGUI::PushButton::EventClicked, 
CEGUI::Event::Subscriber(&WalkTest::OnExitButtonClicked, this));

    myVFS->ChDir ("/");





  I am using CS and CEL 1.0rc1 and CEGUI 0.5. Compiling on Ubuntu 6.1 with gcc 
4.1.2.

  Any help would be greatly appreciated.


------------------------------------------------------------------------------


  -------------------------------------------------------------------------
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share your
  opinions on IT & business topics through brief surveys - and earn cash
  http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV


------------------------------------------------------------------------------


  _______________________________________________
  Crystal-main mailing list
  [email protected]
  https://lists.sourceforge.net/lists/listinfo/crystal-main
  Unsubscribe: mailto:[EMAIL PROTECTED]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]

Reply via email to