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

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

[Octave-bug-tracker] [bug #44776] [Qt] Restore window button does not tr


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #44776] [Qt] Restore window button does not trigger a repaint event for its content
Date: Fri, 19 Aug 2016 21:04:20 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0

Follow-up Comment #22, bug #44776 (project octave):

I'm running Nvidia driver on Cinnamon 2.8.1 (and various combinations of
Cinnamon utilities in the vicinity of 2.8.1).

Here's the interesting thing.  I do


>> graphics_toolkit ('qt')
>> figure
>> sombrero


Half the time I end up with a grey screen with a white box in the upper left
corner and the pager is stuck.  I've reported that bug elsewhere.  However, if
the figure window appears with a proper display the sombrero appears.

Now, here's something new and interesting (pre-patch).  The first time that I
grab the lower right corner and drag, the figure replots normally.  No black
screen flashing, and the surface looks complete.  However, if I release the
mouse and let go of the window corner then repeat this process, now the black
background appears *and* I can see that the surface doesn't fully draw. 
Instead it randomly draws somewhere in the vicinity of half the surface before
doing another redraw.

Apparently there is some type of state variable inherent in this redraw
(Octave or Qt) that maybe isn't being set to a proper value upon releasing the
mouse.  It is probably something to do with blocking the redraw until the
previous redraw is complete...  Wait!  Here's another little detail.  I was
curious if maybe the problem is that I *let go* of the window corner in the
middle of a redraw.  That appear to be the source of the problem.  If I drag
the corner around, stop and wait until I'm certain the sombrero redraw is
complete, then let go of the mouse button there appears to be no black screen
when I repeat this little test.

Some state variable is being reset on account of a button release (or possibly
more types of) events when the renderer is drawing when maybe those events
should be blocked or discarded when the renderer is active.  I think it is a
good guess that this is also the source of my randomly grey screen when
running a simple "figure()".

Anyway, I'd say your patch is fine, but really this Qt plotting should be made
robust as a main priority.  Folks have tried solving these kinds of bugs with
things like fraction-of-a-second delays and so on.  That's just sweeping the
dust under a rug.

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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