bugGNU Octave - Bugs: bug #63697, canvas not properly redrawn on...

 
 

bug #63697: canvas not properly redrawn on resize in recent dev

Submitter:  A.R. Burgers <arb>
Submitted:  Tue 24 Jan 2023 11:48:38 AM UTC
 
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Regression
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)
   

Comment Type & Canned Response:
       

 

( Jump to the original submission )

Fri 03 Feb 2023 06:44:33 PM UTC, comment #6: 

Closing report as fixed.

Pantxo Diribarne <pantxo>
Project Member
Thu 26 Jan 2023 08:28:15 AM UTC, comment #5: 

c815d3e06c53 fixes the issue for me

A.R. Burgers <arb>
Tue 24 Jan 2023 09:55:36 PM UTC, comment #4: 

It (hg id 1d1eff97670e) works for me as well.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 24 Jan 2023 09:21:14 PM UTC, comment #3: 

The following changeset appears to fix the problem for me.

http://hg.savannah.gnu.org/hgweb/octave/rev/1d1eff97670e

John W. Eaton <jwe>
Project Administrator
Tue 24 Jan 2023 03:01:19 PM UTC, comment #2: 

Bisection:

Last good revision is hg id 3105755fa5f1 .
hg id d94ceed56929 broke it:

GLCanvas: avoid multiple inheritance from both QWidget and QObject(4 days ago)
Author        John W. Eaton <jwe@octave.org>
Date        January 20, 2023 8:49 AM (4 days ago)
Repository        https://hg.savannah.gnu.org/hgweb/octave
Branch        default
Revision        d94ceed56929dbb6e4ef1261234fce2fb72957ba
Properties
Comment
GLCanvas: avoid multiple inheritance from both QWidget and QObject

To avoid having GLCanvas inherit from both QWidget and QObject, create
a separate class, GLWidget, derived from QOpenGLWidget and use that as
a member of GLCanvas instead of a base class.

* Canvas.h (class Canvas): Derive from QWidget instead of QObject.
(Canvas::Canvas): New argument for parent widget.  Pass parent to
QWidget base class constructor.

* GLCanvas.h, GLCanvas.cc (class GLCanvas): Split QOpenGLWidget parts
into separate GLWidget class.  GLCanvas now processes things related
to the interpreter and forwards to GLWidget for rendering.  Use
unwind_action objects to ensure OpenGL context is restored.
(GLCanvas::m_glwidget): New data member for GLWidget.

* libbgui/graphics/module.mk (OCTAVE_GUI_GRAPHICS_MOC): Add
moc-GLCanvas.cc to the list.
Changed files
libgui/graphics/Canvas.h
libgui/graphics/GLCanvas.cc
libgui/graphics/GLCanvas.h
libgui/graphics/module.mk

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 24 Jan 2023 02:51:34 PM UTC, comment #1: 

Confirm.

Still worked fine with hg id eb32cf98eed1.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 24 Jan 2023 11:48:38 AM UTC, original submission:  

recent dev does an incomplete redraw of the canvas on resizing, see the attached plot for a side-by-side comparison of 8.0.91 and 9.0.0, after resizing the initial plot window. octave-8 and octave-9 both built on the same platform with the same libraries.

tk = graphics_toolkit
version = OCTAVE_VERSION
hg_id = __octave_config_info__.hg_id
[x,y,z] = sombrero;
surf(x, y, z)
title(['octave ' version]);
pause

octave-8 output:

tk = qt
version = 8.0.91
hg_id = bcb4becbcf94

octave-9 output:

tk = qt
version = 9.0.0
hg_id = 56223b5a01d4

A.R. Burgers <arb>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #54258:  bug_plot.png added by arb (214KiB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by arb (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only project members can vote.

     

     

     

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-02-03 pantxo StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2023-01-24 jwe StatusNone Ready For Test
    2023-01-24 arb Attached File- Added bug_plot.png, #54258

    Back to the top

    Powered by Savane 3.10