Bug 186484 - KoRuler crashes when zooming page out to far
Summary: KoRuler crashes when zooming page out to far
Status: RESOLVED FIXED
Alias: None
Product: koffice
Classification: Applications
Component: general (show other bugs)
Version: 1.9.8
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KOffice Bug Wranglers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-07 19:35 UTC by Sander Pientka
Modified: 2009-03-07 21:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sander Pientka 2009-03-07 19:35:22 UTC
Version:            (using KDE 4.2.1)
OS:                Linux
Installed from:    Ubuntu Packages

When changing the page zoom to a level on which the page isn't visible anymore, KWord crashes with a floating point calculating error.
Comment 1 Sander Pientka 2009-03-07 19:42:50 UTC
I'm on 64-bit, Kubuntu 9.04 with KDE 4.2.1, Koffice 2 Beta 7.
Comment 2 Thomas Zander 2009-03-07 19:51:56 UTC
Please give a step by step way to reproduce, thanks.
If possible a backtrace would be nice too.
Comment 3 Sander Pientka 2009-03-07 19:55:50 UTC
Here's the backtrace: http://pastebin.com/d64b9d87f
Comment 4 Thomas Zander 2009-03-07 20:32:58 UTC
Please give a step by step way to reproduce, thanks.
Comment 5 Sander Pientka 2009-03-07 20:34:37 UTC
Made the backtrace stored forever:

http://pastebin.com/f3d7ca803

How to reproduce:

start KWord, and open a document. Then, use ctrl+scrollwheel_down to scale the page to a level on which the document isn't visible anymore. On that point, my KWord crashes.
Comment 6 Thomas Zander 2009-03-07 20:35:27 UTC
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7f51101f9750 (LWP 12997)]     
VerticalPaintingStrategy::drawMeasurements (this=0x3933000, d=0x3932f00, 
    painter=@0x7fff1823b760, rectangle=@0x7fff1823b740)                  
    at /build/buildd/koffice2-1.9.98.7/libs/guiutils/KoRuler.cpp:427     
427     /build/buildd/koffice2-1.9.98.7/libs/guiutils/KoRuler.cpp: No such file or directory.                                                                                       
        in /build/buildd/koffice2-1.9.98.7/libs/guiutils/KoRuler.cpp                      
(gdb) bt                                                                                  
#0  VerticalPaintingStrategy::drawMeasurements (this=0x3933000, d=0x3932f00,              
    painter=@0x7fff1823b760, rectangle=@0x7fff1823b740)                                   
    at /build/buildd/koffice2-1.9.98.7/libs/guiutils/KoRuler.cpp:427                      
#1  0x00007f50fe23dc7b in KoRuler::paintEvent (this=0x3872e10,                            
    event=<value optimized out>)                                                          
    at /build/buildd/koffice2-1.9.98.7/libs/guiutils/KoRuler.cpp:795                      
#2  0x00007f510e8ad7e6 in QWidget::event () from /usr/lib/libQtGui.so.4                   
#3  0x00007f510e85c83d in QApplicationPrivate::notify_helper ()                           
   from /usr/lib/libQtGui.so.4                                                            
#4  0x00007f510e864a3a in QApplication::notify () from /usr/lib/libQtGui.so.4             
#5  0x00007f510fa30e7b in KApplication::notify () from /usr/lib/libkdeui.so.5             
#6  0x00007f510d60677c in QCoreApplication::notifyInternal ()                             
   from /usr/lib/libQtCore.so.4                                                           
#7  0x00007f510e8b4aa5 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4       
#8  0x00007f510e8b5217 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#9  0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#10 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
---Type <return> to continue, or q <return> to quit---                                    
   from /usr/lib/libQtGui.so.4                                                            
#11 0x00007f510e8b4717 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4       
#12 0x00007f510e8b5217 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#13 0x00007f510e8b4717 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4       
#14 0x00007f510e8b5217 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#15 0x00007f510e8b4717 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4       
#16 0x00007f510e8b5217 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#17 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#18 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#19 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#20 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#21 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
---Type <return> to continue, or q <return> to quit---                                    
   from /usr/lib/libQtGui.so.4                                                            
#22 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#23 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#24 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#25 0x00007f510e8b5126 in QWidgetPrivate::paintSiblingsRecursive ()                       
   from /usr/lib/libQtGui.so.4                                                            
#26 0x00007f510e8b4717 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4       
#27 0x00007f510ea58452 in ?? () from /usr/lib/libQtGui.so.4                               
#28 0x00007f510e8a6150 in QWidgetPrivate::syncBackingStore () from /usr/lib/libQtGui.so.4 
#29 0x00007f510e8ad67d in QWidget::event () from /usr/lib/libQtGui.so.4                   
#30 0x00007f510ec6209b in QMainWindow::event () from /usr/lib/libQtGui.so.4               
#31 0x00007f510fb3b8a8 in KXmlGuiWindow::event () from /usr/lib/libkdeui.so.5             
#32 0x00007f510e85c83d in QApplicationPrivate::notify_helper ()                           
   from /usr/lib/libQtGui.so.4                                                            
#33 0x00007f510e864a3a in QApplication::notify () from /usr/lib/libQtGui.so.4             
#34 0x00007f510fa30e7b in KApplication::notify () from /usr/lib/libkdeui.so.5             
---Type <return> to continue, or q <return> to quit---                                    
#35 0x00007f510d60677c in QCoreApplication::notifyInternal ()                             
   from /usr/lib/libQtCore.so.4                                                           
#36 0x00007f510d6073ea in QCoreApplicationPrivate::sendPostedEvents ()                    
   from /usr/lib/libQtCore.so.4                                                           
#37 0x00007f510d630203 in ?? () from /usr/lib/libQtCore.so.4                              

#38 0x00007f51088b219a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0x00007f51088b5870 in ?? () from /usr/lib/libglib-2.0.so.0                     

#40 0x00007f51088b5a0c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0

#41 0x00007f510d62fe8f in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#42 0x00007f510e8f4cef in ?? () from /usr/lib/libQtGui.so.4
#43 0x00007f510d605022 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4

#44 0x00007f510d6053ed in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#45 0x00007f510d6076b4 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4

#46 0x00007f510fe1f085 in kdemain (argc=<value optimized out>,
    argv=<value optimized out>) at /build/buildd/koffice2-1.9.98.7/kword/part/main.cpp:38
#47 0x00007f510c9b35a6 in __libc_start_main () from /lib/libc.so.6
#48 0x0000000000400719 in _start () at ../sysdeps/x86_64/elf/start.S:113
(gdb)
Comment 7 Sven Langkamp 2009-03-07 21:22:43 UTC
SVN commit 936520 by langkamp:

fix crash when zooming out too far, don't draw measurements if the ruler
is too small anyway

BUG:186484


 M  +3 -0      KoRuler.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=936520