Bug 161971 - Copying and pasting large amounts of text causes program to freeze
Summary: Copying and pasting large amounts of text causes program to freeze
Status: RESOLVED FIXED
Alias: None
Product: kolourpaint
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: kolourpaint-support
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-11 22:41 UTC by Rohit Patnaik
Modified: 2011-02-10 22:12 UTC (History)
0 users

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 Rohit Patnaik 2008-05-11 22:41:06 UTC
Version:            (using KDE 3.5.8)
Installed from:    Fedora RPMs
Compiler:          gcc version 4.1.2 20070925 (Red Hat 4.1.2-27) 
OS:                Linux

Copying and pasting a large amount of text into Kolourview causes the application to freeze and consume large amounts of system resources.  

How to reproduce: 
1.  Find a large amount of text.  A good place to get a sufficiently large quantity can be found here: http://en.wikipedia.org/w/index.php?title=Line_of_succession_to_the_British_throne&action=edit.  

2.  Copy and paste the text into Kolourpaint
3.  Sit back and watch your hard drive activity light goes from occasionally blinking to constantly on, and your computer become unresponsive to keyboard and mouse inputs :)

I've found that the only way to recover in a situation like this is to switch to a different TTY and kill -9 kolourview.
Comment 1 Martin Koller 2011-02-10 22:12:41 UTC
SVN commit 1219762 by mkoller:

speed up pasting/undo/redo large amount of text(lines) by not doing useless repaints for each line
and limit size of document to not exhaust memory

BUG: 161971


 M  +3 -0      commands/kpCommandHistory.cpp  
 M  +7 -0      commands/kpCommandHistoryBase.cpp  
 M  +20 -0     commands/kpMacroCommand.cpp  
 M  +7 -4      commands/tools/selection/text/kpToolTextInsertCommand.cpp  
 M  +0 -1      commands/tools/selection/text/kpToolTextInsertCommand.h  
 M  +8 -1      layers/selections/text/kpTextSelection_Paint.cpp  
 M  +9 -13     mainWindow/kpMainWindow_Edit.cpp  
 M  +4 -4      views/kpView_Paint.cpp  


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