Hello, I have a bug that's related to databases in Writer (menu->Edit->Exchange Database and RES_HIDDENTXTFLD). The code that triggers it does a copy of the document in order to do the necessary substitutions there (well, this all is at least how I understand it) and during the copying it copies data identifying the database used by the document. Sadly, that's at least two pieces of information (data source and command, whatever exactly those two are) and the code does the copying in "random" other, because it simply copies a bunch of properties of the source document, and the resulting orders happens to be the reverse of what it should be. The code that handles the database requires the data source first and the command afterwards (which is quite logical, as the latter presumably doesn't make sense without the sooner first).
Technically, I get in SwXDocumentSettings::_setSingleValue() first a call with HANDLE_CURRENT_DATABASE_DATA_SOURCE and then with HANDLE_CURRENT_DATABASE_COMMAND. They both call first SwDoc::GetDBDesc(), which first applies the command to some default data source and afterwards sets the given data source without the right command afterwards. The reversed ordering of the input data comes from some call far far in the past and I have no idea if reusing old command does not cause a problem for other code using this functionality. It seems to be quite a common way for LO code to use this let's-push-all-the-data-as-properties-one-by-one approach, so I wonder what the common way of avoiding this problem is? Preferably something that's not an ugly hack, excuse the naivety. Thanks -- Lubos Lunak l.lu...@suse.cz _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice