[Konsole-devel] [konsole] [Bug 345403] "Terminal Size" setting in profile ignored

Ian Pilcher via KDE Bugzilla bugzilla_noreply at kde.org
Thu Nov 12 07:02:19 UTC 2015


https://bugs.kde.org/show_bug.cgi?id=345403

Ian Pilcher <arequipeno at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |arequipeno at gmail.com

--- Comment #13 from Ian Pilcher <arequipeno at gmail.com> ---
I spent some time poking around with gdb, and I *think* that I might have some
idea what the problem is.

TerminalDisplay::setSize(), which does get called with the correct
columns/lines, calculates a pixel-based size for the widget and sticks it in
TerminalDisplay::_size.  That value will be returned by
TerminalDisplay::sizeHint().  It then calls QWidget::updateGeometry(), which
would normally update the layout system.

A bit later, TerminalDisplay::calcGeometry() is called to recalculate
TerminalDisplay::_contentRect.  It uses the present widget area, as returned by
QWidget::contentsRect(), as its starting point.

I suspect that the authors of this code assumed that the call to
QWidget::updateGeometry() in TerminalDisplay::setSize() would update the state
of the widget, causing the call to QWidget::contentsRect() in
TerminalDisplay::calcGeometry() to return a result that reflects the new size. 
Unfortunately, this is not the case; in fact, it seems to have no effect at
all.

I can't help wondering if this is a change from Qt4 to Qt5.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list