[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 279429] New: kdevelop freezes for 10 seconds when mouse goes
From:       Eduardo Bart <edub4rt () gmail ! com>
Date:       2011-08-05 9:18:59
Message-ID: bug-279429-40295 () http ! bugs ! kde ! org/
[Download RAW message or body]

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

           Summary: kdevelop freezes for 10 seconds when mouse goes over
                    the namespace "std::"
           Product: kdevelop
           Version: git master
          Platform: Unlisted Binaries
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: documentation viewer
        AssignedTo: kdevelop-bugs@kdevelop.org
        ReportedBy: edub4rt@gmail.com


Version:           git master
OS:                Linux

After I added STL documentation to kdevelop with the file "libstdc++-v3.qch",
everytime my mouse goes over the namespace "std::" kdevelop freezes for exactly
10 seconds. After the freeze, 3 messages are shown in the terminal:

Application asked to unregister timer 0x63000065 which is not registered in
this thread. Fix application.
Application asked to unregister timer 0x2000065 which is not registered in this
thread. Fix application.
Application asked to unregister timer 0x7c000060 which is not registered in
this thread. Fix application.

I think I isolated the problem debugging. It is the tooltip box, the namespace
std contains a huge HTML for documentation and this function from kdevplatform
takes about 8 seconds to run:

void AbstractNavigationWidget::updateIdealSize() const {
  if(m_context && !m_idealTextSize.isValid()) {
    QTextDocument doc;
    doc.setHtml(m_currentText);
    if(doc.idealWidth() > maxNavigationWidgetWidth) {
      doc.setPageSize( QSize(maxNavigationWidgetWidth, 30) );
      m_idealTextSize.setWidth(maxNavigationWidgetWidth);
    }else{
      m_idealTextSize.setWidth(doc.idealWidth());
    }
    m_idealTextSize.setHeight(doc.size().height());
  }
}

It's not the only function freezing kdevelop, if I change this code and set
m_idealTextSize to a fixed size kdevelop will still freezes for about 2
seconds.
More precisely I think the problem lies while parsing HTML texts.


Reproducible: Always

Steps to Reproduce:
1. Download STL documentation libstdc++-v3.qch from
http://www.steveire.com/libstdc++-v3.qch
2. Add it to kdevelop documentation
3. You can use the following code:

#include <iostream>

int main(int argc, char **argv)
{
    std::cout << "hello world!" << std::endl;
}
4. Move the mouse over "std::"

Actual Results:  
Kdevelop freezes for exactly 10 seconds

Expected Results:  
No freezes

After the freeze this massages are shown on stdout:
Application asked to unregister timer 0x63000065 which is not registered in
this thread. Fix application.
Application asked to unregister timer 0x2000065 which is not registered in this
thread. Fix application.
Application asked to unregister timer 0x7c000060 which is not registered in
this thread. Fix application.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

_______________________________________________
KDevelop-bugs mailing list
KDevelop-bugs@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic