octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #44875] Error "base_graphics_object::get_prope


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #44875] Error "base_graphics_object::get_properties: invalid graphics object"
Date: Sat, 18 Apr 2015 23:54:39 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 SeaMonkey/2.15

Follow-up Comment #3, bug #44875 (project octave):

This doesn't happen on my system, but I believe it is happening with yours and
is a problem of a race condition.  The uimenu, and drawing elements in general
are not the same as the higher level access to dialog boxes and
shutdown-confirm that https://savannah.gnu.org/bugs/?44751 bug report
addressed.  The functions in 

scripts/gui
libinterp/corefcn/graphics.cc
libinterp/corefcn/graphics.in.h

are qt/fltk graphics toolkit and use a different approach based upon C++
function callbacks (noting the difference between C++ callback and the Octave
function callback which is part of the interpreted language object
properties).

It is difficult to pinpoint the problem, but my guess is that it stems from
the C++ callback not using a mutex.  There is probably a timing issue between
the destruction of the Qt menu objects and Octave core redrawing the plot.  I
don't want to dig into that code as there needs to be thread management for
many operations or some type of generic communication protocol across threads.
 To add, it would make sense to put the rendering code (the OpenGL function
calls) in its own separate thread so that the user can rescale the figures
while Octave may be running a long processing job.

To redo the plotting in a more robust manner would mean development and
instability that would set back 4.0 months for sure, probably a year plus.

I could be wrong, but that's my intuition.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?44875>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]