Comment 15 for bug 1011726

Revision history for this message
John Smith (john-smithi) wrote :

> Remaining issue: working with multiple files in the same session:

I think this is mainly caused by the XML Editor now being a dockable dialog (bug #940715).

When you "close" any dockable dialog, it does not get destroyed, its just visibly hidden and it sticks around in memory until the last inkscape window is closed.
You can test this by
1) opening a large test file
2) open the XML Editor - it will be slow
3) closing and re-opening the XML Editor will now be fast - since its still in memory.

Not only is a "closed" dockable dialog hidden, but its also considered *floating*. So a "closed" dockable dialog is functionally equivalent to an open and floating dialog. A "iconified" dialog is also considered floating and suffers the same problems.

This is the core of the problem since when you switch windows (or open a new doc etc) a floating dialog gets a signal to reload the currently focused document.

You can test this by
1) opening a large test file
2) and open a smaller test file
3) Float the XML Editor
4) Switch focus between the 2 windows - should see a delay when focusing on the large test file only.
5) Now "close" or "iconify" the XML Editor - should see the same delay as in 4) when switching windows
6) Now dock the XML Editor - should see no delay switching windows

So the possible solutions include:
a) Have dockable dialogs be properly destroyed when then are "closed"
b) Have dockable dialogs not be considered floating when they are hidden or iconified (libgdl change)
c) Have dialogs only receive the "desktop change" signal if they are visible - then add logic to check the document when the visibility status is changed
d) Leave as-is