1.12.4: 2009-12-30 Murray Cumming Dnd layout: Avoid a crash when dragging to empty space. * glom/utility_widgets/flowtable_dnd.cc: on_drag_data_received(): Avoid dereferencing a null group. Bug #599232 2009-12-30 Murray Cumming Dnd layout: Avoid a crash. * glom/utility_widgets/flowtable_dnd.cc: on_drag_data_received(): Use a dynamic_cast<> to avoid memory corruption with the MI class. Bug #599232 2009-12-16 Armin Burgmeier * win32/build-installer: * win32/glom.iss.in: Add missing libpangoft2-1.0-0.dll. Bug #599966. 2009-12-14 Murray Cumming * glom.desktop.in.in: Remove the Application category because krazy2 says it is deprecated. 2009-12-10 Murray Cumming FlowTableDnd: Some refactoring. * glom/utility_widgets/flowtable_dnd.[h|cc], * glom/mode_data/flowtable_withfields.[h|cc]: Make FlowTableDnd less aware of LayoutItems, though it is still not yet generic enough. * glom/utility_widgets/test_flowtable_dnd.cc: * glom/Makefile_tests.am: Added test_flowtable_dnd. 2009-12-10 Murray Cumming * examples/example_film_manager.glom: Added silly example data, fixing bug #600859 (Michael Hasselmann) 2009-12-10 Murray Cumming Tests: Validate all examples against the DTD, and correct the DTD. * tests/dtd/test_example_sqlite: Renamed to test_file_validation.sh. * glom/Makefile_tests.am: Adapted. * glom/libglom/document/document.cc: save_before(): Correct the saving of group privileges so they are really inside the group nodes. Avoid saving unnamed groups, as seen in the example files. * glom/glom_document.dtd: Several corrections to fix the validation of the example files, though I don't like that DTDs don't seem to give us any way to say that the sequence of child elements is irrelevant. I don't like enforcing the sequence. 2009-12-10 Murray Cumming Fix distcheck. * Makefile.am: * Makefile_tests.am: Fix the distcheck by disting the DTD validation test script and the .glom file that it uses. * glom/libglom/init.cc: Redefine Python's PyDateTime_IMPORT macro, to avoid a compiler warning. See http://bugs.python.org/issue7463 * glom/main.cc: Avoid including Python's datetime.h, to avoid the same compiler warning. 2009-12-09 Murray Cumming Tests: Complete the test_python_execute_func_date test. * glom/libglom/python_embed/pygdavalue_conversions.c (glom_pygda_value_from_pyobject): Use g_date_new_dmy() so the GDate is really completely initialized, avoiding errors about invalid dates. * tests/test_python_execute_func_date.cc: Check the return type and value, by comparing the python result with the current date. Bug is now really fixed #603686. (Andrew Ruthven) 2009-12-09 Murray Cumming Fix the crash when calling python functions that return dates. * glom/libglom/python_embed/pygdavalue_conversions.c (glom_pygda_value_from_pyobject): Call the macro PyDateTime_IMPORT here, though it was already called in libglom_init(). I don't know why this fixes the crash, but it does. Bug #603686. (Andrew Ruthven) 2009-12-08 Murray Cumming Tests: Added glom_evaluate_python_function_implementation() tests. * Makefile_tests.am: * tests/test_python_execute_func.cc: * tests/test_python_execute_func_date.cc: Added two unit tests for Glom::glom_evaluate_python_function_implementation(). The date one currently fails, as in bug #603686. (Andrew Ruthven) 2009-12-07 Murray Cumming Python: Trying to stop the PyDateTime_Check() crash. * glom/libglom/init.cc: libglom_init(): Call the PyDateTime_IMPORT macro, which is needed to stop PyDateTime_Check() and PyDate_Check() from crashing, at least in my simple test case. It still crashes in Glom though. * glom/main.cc: Do not initialize Python here because Glom::init() already did it, though doing it twice does not seem to be a problem. 2009-12-04 Murray Cumming Rename some functions to avoid fear of linking to the wrong one. * glom/libglom/python_embed/pygdavalue_conversions.[h|cc]: pygda_value_from_pyobject(), pygda_value_as_pyobject(): Add a glom_ prefix so we know we are not using the copy in pygda. * glom/python_embed/glom_python.cc: * glom/libglom/python_embed/py_glom_record.cc: * glom/libglom/python_embed/py_glom_relatedrecord.cc: Adapted. 2009-12-04 Murray Cumming Field Definitions: Default value: Fix crash when selecting a date. * glom/utility_widgets/datawidget.cc: offer_field_list(), offer_field_layout(), offer_related_record_id_find(): Avoid crashes caused by calling set_transient_for() with a null parent window, for instance from the field definitions dialog. 2009-12-04 Murray Cumming Field Definitions: Show default value widget for date fields. * glom/utility_widgets/datawidget.cc: Constructor: show the hbox_parent widget, so the widgets always show up for the default value in the field definitio dialog for date fields. The details view must be doing this via a show_all() somewhere. 2009-12-03 Murray Cumming Related Records layout: Field formatting: Choices: Fix related choices. * glom/mode_design/layout/dialog_layout_details.[h|cc] * glom/mode_design/layout/dialog_layout_list_related.[h|cc]: Add virtual get_fields_table() and use this in on_button_field_formatting() so that the formatting dialog shows relationships for the to table instead of the parent table, when editing formatting for a field in a related records portal. Bug noticed by Michael Hasselmann and Andrew Ruthven. * glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.c: Removed some debug output. 2009-12-03 Murray Cumming Allow use of example documents that mention an unsupported backend. * glom/application.cc: check_document_hosting_mode_is_supported(): Don't check the backend if it is an example document because the user will choose it when saving anyway. 2009-11-17 Murray Cumming tests: dtd: Now passes. * glom/libglom/document/bakery/document_xml.cc: get_node_document(): Added commented-out code to write the DOCTYPE declaration, if we ever want to specify the PUBLIC DTD idenitifier and URI in each document. Let's avoid that for now because we'd have to make sure that it's hosted properly. * tests/dtd/test_example_sqlite: Do not use --valid because that seems to always require a DTD in the document's DOCTYPE declaration. --dtdvalid seems to do the same thing already, but with the specified DTD. 2009-11-17 Murray Cumming * glom/glom_document.dtd: Mention the xmlns attribute because DTD validation doesn't know about XML namespaces. 2009-11-17 Murray Cumming Document: Ensure that the xmlns ID is always in saved documents. * glom/libglom/document/bakery/document_xml.cc: get_node_document(): Make sure that the xmlns ID is added, even when the root node already exists, for instance when opening existing documents. * examples/example_film_manager.glom: * examples/example_lesson_planner.glom: * examples/example_music_collection.glom: * examples/example_project_manager.glom: * examples/example_smallbusiness.glom: * examples/sqlite/test_sqlite_music/test_sqlite_music.glom: Add the xmnls ID, to help to identify the MIME type of these documents. 2009-11-17 Murray Cumming Document saving: Remove unncessary empty singular_title nodes. * glom/libglom/document/document.cc: save_before_translations(): Do not create empty singular_title nodes. * examples/example_smallbusiness.glom: Resaved. 2009-11-17 Murray Cumming Partly fix the DTD validation test. * glom/glom_document.dtd: table: Correct the syntax for the child elements, to use ?, instead of | because they are all optional, instead of being alternatives for each other. Add the print_layouts element. * Makefile_tests.am: Change the order so the sometimes-hanging import tests are at the end, to make the tests more useful. 2009-11-13 David King * configure.ac: Fix check for SQLite and libgettextpo. 2009-11-12 David King * glom/glom_document.dtd: Update to more completely validate example documents. * Makefile_tests.am: * tests/dtd/test_example_sqlite: Add a test that attempts to validate an example SQLite Glom document against glom_document.dtd. 2009-11-10 David King * configure.ac: Fix incorrect conditional for Maemo libgettextpo check. 2009-11-06 Murray Cumming Fix a crash when specifying a static image on the layout. * glom/utility_widgets/imageglom.cc: on_menupopup_activate_select_file(): Check for a null parent window pointer to avoid a crash, fixing bug #600954 (Michael Hasselmann). 2009-11-06 David King * configure.ac: * Makefile_glom.am: Do not link to libgettextpo on Maemo, and additionally do not check for it either. 2009-11-04 David King * glom.xml: Add Maemo-specific category for classification of .glom files as "documents". 2009-11-04 David King * Makefile_glom.am: Statically link to libgettextpo on Maemo, as Gettext is available in the SDK and autobuilder but not on the device. 1.12.3: