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

Ian Pilcher via KDE Bugzilla bugzilla_noreply at kde.org
Thu Nov 12 17:03:10 UTC 2015


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

--- Comment #14 from Ian Pilcher <arequipeno at gmail.com> ---
Just for grins I went back to konsole v4.12.19 (commit
232af90a032d0984b0121aa6ea3ad982cdec9635 from 24 March, 2014).

The geometry & resizing code in TerminalDisplay.cpp looks very similar --
possibly even completely unchanged -- and the behavior is almost identical. 
The difference is that TerminalDisplay::calcGeometry() is called an additional
(2nd) time after TerminalDisplay::setSize().  This time QWidget::contentsRect()
does return an update size.  So it looks like my assumption about the way this
code is intended to work is likely correct.

Here is the backtrace from the 2nd call call to
TerminalDisplay::calcGeometry():

#0  Konsole::TerminalDisplay::calcGeometry (this=this at entry=0x8a06f0) at
/home/ipilcher/konsole/src/TerminalDisplay.cpp:1684      
#1  0x00007ffff795f22d in Konsole::TerminalDisplay::makeImage
(this=this at entry=0x8a06f0)                                          
    at /home/ipilcher/konsole/src/TerminalDisplay.cpp:1657                      
#2  0x00007ffff7961797 in Konsole::TerminalDisplay::updateImageSize
(this=0x8a06f0)                                               
    at /home/ipilcher/konsole/src/TerminalDisplay.cpp:1626                      
#3  0x00007ffff49d4140 in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4  
#4  0x00007ffff796600a in Konsole::TerminalDisplay::event (this=0x8a06f0,
event=0x7fffffffce30)                                   
    at /home/ipilcher/konsole/src/TerminalDisplay.cpp:3027                      
#5  0x00007ffff497d93c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQtGui.so.4                      
#6  0x00007ffff4984796 in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQtGui.so.4                                    
#7  0x00007ffff680654a in KApplication::notify(QObject*, QEvent*) () from
/lib64/libkdeui.so.5                                    
#8  0x00007ffff5af38dd in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /lib64/libQtCore.so.4                       
#9  0x00007ffff4a1be61 in QWidgetPrivate::setGeometry_sys(int, int, int, int,
bool) () from /lib64/libQtGui.so.4                  
#10 0x00007ffff49cbb75 in QWidget::setGeometry(QRect const&) () from
/lib64/libQtGui.so.4                                         
#11 0x00007ffff49aa36d in QLayoutPrivate::doResize(QSize const&) () from
/lib64/libQtGui.so.4                                     
#12 0x00007ffff497d90e in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQtGui.so.4                      
#13 0x00007ffff4984796 in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQtGui.so.4                                    
#14 0x00007ffff680654a in KApplication::notify(QObject*, QEvent*) () from
/lib64/libkdeui.so.5                                    
#15 0x00007ffff5af38dd in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /lib64/libQtCore.so.4                       
#16 0x00007ffff4a1be61 in QWidgetPrivate::setGeometry_sys(int, int, int, int,
bool) () from /lib64/libQtGui.so.4
#17 0x00007ffff49cbb75 in QWidget::setGeometry(QRect const&) () from
/lib64/libQtGui.so.4
#18 0x00007ffff49adf5d in QWidgetItem::setGeometry(QRect const&) () from
/lib64/libQtGui.so.4
#19 0x00007ffff498cd00 in QBoxLayout::setGeometry(QRect const&) () from
/lib64/libQtGui.so.4
#20 0x00007ffff49aa36d in QLayoutPrivate::doResize(QSize const&) () from
/lib64/libQtGui.so.4
#21 0x00007ffff49abf40 in QLayout::activate() () from /lib64/libQtGui.so.4
#22 0x00007ffff497d90e in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQtGui.so.4
#23 0x00007ffff4984796 in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQtGui.so.4
#24 0x00007ffff680654a in KApplication::notify(QObject*, QEvent*) () from
/lib64/libkdeui.so.5
#25 0x00007ffff5af38dd in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /lib64/libQtCore.so.4
#26 0x00007ffff5af6ef6 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /lib64/libQtCore.so.4
#27 0x00007ffff5b23d1e in postEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from /lib64/libQtCore.so.4
#28 0x00007fffee41de3a in g_main_dispatch (context=0x6c31f0) at gmain.c:3154
#29 g_main_context_dispatch (context=context at entry=0x6c31f0) at gmain.c:3769
#30 0x00007fffee41e1d0 in g_main_context_iterate
(context=context at entry=0x6c31f0, block=block at entry=1, 
    dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3840
#31 0x00007fffee41e27c in g_main_context_iteration (context=0x6c31f0,
may_block=1) at gmain.c:3901
#32 0x00007ffff5b23e8e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /lib64/libQtCore.so.4
#33 0x00007ffff4a263e6 in
QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from /lib64/libQtGui.so.4
#34 0x00007ffff5af2151 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQtCore.so.4
#35 0x00007ffff5af24c5 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQtCore.so.4
#36 0x00007ffff5af8069 in QCoreApplication::exec() () from
/lib64/libQtCore.so.4
#37 0x00007ffff7bd0eaa in kdemain (argc=3, argv=0x7fffffffde38) at
/home/ipilcher/konsole/src/main.cpp:86
#38 0x00007ffff2954580 in __libc_start_main (main=0x400860 <main(int, char**)>,
argc=3, argv=0x7fffffffde38, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffde28) at libc-start.c:289
#39 0x0000000000400899 in _start ()

It looks like it's processing a resize event, but I'm unable to figure out
where this event was generated.  Was it explicitly generated elsewhere in the
konsole code, or was created automatically by Qt4 because of the earlier
QWidget::updateGeometry() call with a new _size?

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


More information about the konsole-devel mailing list