Caolán McNamara píše v St 18. 04. 2012 v 12:58 +0100:
For https://bugs.freedesktop.org/show_bug.cgi?id=48011 an apparent performance regression in writer, I'd like to propose 1856186951a70a0bcac4e0c3632ca4afe68c05e3 as a partial fix, code before and after should be logical equivalent i.e. http://cgit.freedesktop.org/libreoffice/core/commit/?id=1856186951a70a0bcac4e0c3632ca4afe68c05e3 Window::GetChildCount and Window::GetChild are pretty slow as they operate on the underlying linked lists. GetWindow lets you traverse the linked lists directly. There are a few thousand windows to be traversed on every keystroke.
Great catch! Yup, it seems to be the same logic. It should be pretty safe because it just comes through the list in sequence instead of starting from the beginning each time. It works fine. I have pushed it into 3-5, see http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-5&id=43b48f05e5aa3359a0227550b9a5c88851a582d2 It will be in 3.5.3-rc1. Best Regards, Petr