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

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

[Octave-bug-tracker] [bug #45261] Qt: cannot close figure after multiple


From: Philip Nienhuis
Subject: [Octave-bug-tracker] [bug #45261] Qt: cannot close figure after multiple calls to ginput()
Date: Fri, 05 Jun 2015 19:25:07 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33

URL:
  <http://savannah.gnu.org/bugs/?45261>

                 Summary: Qt: cannot close figure after multiple calls to
ginput()
                 Project: GNU Octave
            Submitted by: philipnienhuis
            Submitted on: Fri 05 Jun 2015 09:25:02 PM CEST
                Category: Plotting with OpenGL
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Regression
                  Status: None
             Assigned to: None
         Originator Name: Philip Nienhuis
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.0.0
        Operating System: Any

    _______________________________________________________

Details:

Steps to reproduce:

>> plot ([0 10]);   ## Just some plot
>> [x, y, b] = ginput ();
>> [x, y, b] = ginput ();
>> [x, y, b] = ginput ();  # repeated several times
:
:
>> close
error: feval: first argument must be a string, inline function or a function
handle
error: called from
    ginput>ginput_closerequestfcn at line 152 column 3
    close at line 96 column 5


Looking in ginput.m in debug mode, I see that variable orig_closerequestfcn,
that is a string "close_req" after the first call, is turned into a cell array
that upon each following call to ginput gets nested deeper in the following
fashion:

debug> orig_closerequestfcn
orig_closerequestfcn =
{
  [1,1] = @ginput_closerequestfcn
  [2,1] =
  {
    [1,1] = @ginput_closerequestfcn
    [2,1] =
    {
      [1,1] = @ginput_closerequestfcn
      [2,1] = closereq
    }
  }
}


While I'm overall almost clueless about Octave's graphics innards, I think the
error message clearly indicates that feval doesn't expect a cell array. The
call in L.73:

:
orig_closerequestfcn = get (fig, "closerequestfcn");        
:


seems to be the culprit as it is there where the cell array is produced.

Closing a figure after multiple calls to ginput() used to work, hence
"regression"





    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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