Public bug reported:

To reproduce:
- Launch fracplanet
- click the "Generate" button
- wait a second or so until it has finished
- click the "Generate" button
  ** crash to desktop SIGSEGV

The cause:
messages in the queue arriving for the viewer after it has been deleted.

To fix:
In file: fracplanet_main.cpp function: FracplanetMain::regenerate()
Comment out:
 viewer.reset();
and put
if (!viewer)
on the line before:
  viewer.reset(new TriangleMeshViewer(this,&parameters_render,std::vector<const 
TriangleMesh*>(),_verbose));


Your regenerate() function should now start like this:
void FracplanetMain::regenerate()   //! \todo Should be able to retain ground 
or clouds
{
  const bool first_viewer=!viewer;

  if (viewer)
    {
      viewer->hide();
//      viewer.reset();
    }

  meshes.clear();
  mesh_terrain.reset();
  mesh_cloud.reset();

  //! \todo Recreating viewer every time seems like overkill, but Ubuntu (in 
VM) doesn't seem to like it otherwise.
  if (!viewer)
    viewer.reset(new 
TriangleMeshViewer(this,&parameters_render,std::vector<const 
TriangleMesh*>(),_verbose));

  // Tweak viewer appearance so controls not too dominant
  QFont viewer_font;

** Affects: fracplanet (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1881296

Title:
  fracplanet crashes on second generate button click

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/fracplanet/+bug/1881296/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to