Bug in SVN with certain HID devices
Hello Everyone,
I did an SVN yesterday and after compiling I got this error:
ERROR:preferences.cpp:488:Inkscape::XML::Node* Inkscape::Preferences::_getNode(const Glib::ustring&, bool): assertion failed: (pref_key.find('.') == Glib::ustring::npos)
After further investigation, I realized that the pref_key my program was crashing on was that of my keyboard/mouse:
Liteon Microsoft Wireless Reciever 700 v2*.*0
When I removed the assert from the code the program started properly. I believe the assert is checking to make sure that the first instance of a period is coming at the end of the pref_key, or that one does not exist? Either way, why are you checking for this? Why does it matter?
Regards,
Omar
Omar Chanouha-2 wrote:
When I removed the assert from the code the program started properly. I believe the assert is checking to make sure that the first instance of a period is coming at the end of the pref_key, or that one does not exist? Either way, why are you checking for this? Why does it matter?
Hello Omar,
The preferences were recently rewritten and a new path syntax was implemented: instead of two strings that denote where a given value is stored in the preferences file, only one is used after the rewrite. Additionally, the separator used in those strings was changed from a dot to a slash. This assert was intended to catch places where the old syntax was used - if there's a dot in the path, it must be a leftover from before the rewrite, so it should be changed. Right now it seems there are no places left which use the old syntax, so it will be removed to allow keys with dots in their names.
Regards, Krzysztof Kosiński
participants (2)
-
Krzysztof Kosiński
-
Omar Chanouha