Inkscape Preferences dialog does not remember tabs/pages

Bug #184499 reported by bbyak
12
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
jazzynico

Bug Description

Now it always opens with an empty page. It must remember the last opened page, and when I doubleclick the tool button it must open on that tool's options page. In 0.45 this worked, so this is a regression.

bbyak (buliabyak)
Changed in inkscape:
assignee: nobody → gustav-b
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Maximilian Albert (cilix) wrote :

AFAICT this is due to the dialog refactoring. The reason for this seems to be the following:

- In ui/dialog/inkscape-preferences.cpp, line 111, the function _presentPages() is connected to the present() method of the Panel class.
- However, the dialogs are shown by using the present() method of the Dialog class (or some other, not 100% sure).
- Therefore, _presentPages() is not called any more when the dialog is presented so that the tools' pages are not correctly updated.

I hope this analysis is right (couldn't inspect too closely). I couldn't find an easy way to fix it, though, that's why I'm writing up my thoughts here for anyone to pick them up. BTW, if this is fixed it may (or may not) close some related bugs, too (e.g., I believe that #184499 is caused by the same thing).

Revision history for this message
gustav_b (gustav-b) wrote :

Thanks Maximilian, fixed in 17207.

Changed in inkscape:
status: Confirmed → Fix Released
Revision history for this message
su_v (suv-lp) wrote :

Inkscape 0.46+devel r21615 on OS X 10.5.7
Reopening -> regression.

When Preferences > Windows > Dialog behaviour is set to 'Floating', no tabs are remembered nor is the tool's page opened when double-clicking the tool button. (Works as expected when Dialog behaviour is set to 'Dockable').

see also bug #357631 for another issue depending on Dialog behaviour (shrinking dialog window size).

Changed in inkscape:
status: Fix Released → New
tags: added: regression ui ui-preferences
Revision history for this message
jazzynico (jazzynico) wrote :

Half-confirmed on Windows XP, Inkscape rev. 21865.
Double-click works, but tabs/pages are not remembered when windows set to floating.

Changed in inkscape:
status: New → Confirmed
jazzynico (jazzynico)
tags: added: preferences
removed: ui-preferences
Revision history for this message
jazzynico (jazzynico) wrote :

Still present in revision 11649.

"floating" is not the default setting, and it's a rather minor annoyance, thus I'm lowering importance to low.

Changed in inkscape:
importance: Medium → Low
status: Confirmed → Triaged
Revision history for this message
su_v (suv-lp) wrote :

Proposing to raise importance again: in trunk rev 13262, the preferences dialog was changed to enforce 'floating' and to ignore the user prefs for dialog behavior. Now this bug affects every user and cannot be worked around (the preferences dialog cannot be switched back to dockable at runtime).

jazzynico (jazzynico)
Changed in inkscape:
importance: Low → Medium
jazzynico (jazzynico)
Changed in inkscape:
assignee: gustav_b (gustav-b) → jazzynico (jazzynico)
milestone: none → 0.91
status: Triaged → In Progress
Revision history for this message
jazzynico (jazzynico) wrote :

Patch attached, please test!

The bug is related to the way signals are emitted. Inkscape should first initialize the pages and set the selection to the saved (in the preferences.xml file) value, and then call the on_changed signal on the TreeSelection when the selection is changed.

It works as expected when docked (now disabled), but with a floating dialog the signal_changed is called first.
According to the gtkmm documentation (https://developer.gnome.org/gtkmm/stable/classGtk_1_1TreeSelection.html#ad880fbe3cf130fe7c46f410b7efe3c0f):
"Emitted whenever the selection has (possibly) changed. Please note that this signal is mostly a hint. It may only be emitted once when a range of rows are selected, and it may occasionally be emitted when nothing has happened. "

Revision history for this message
jazzynico (jazzynico) wrote :
Revision history for this message
jazzynico (jazzynico) wrote :

Tested on Crunchbang Waldorf and committed revision 13517.

Changed in inkscape:
status: In Progress → Fix Committed
jazzynico (jazzynico)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.