=== ChangeLog discontinued === 2009-05-04 Siavash Safi Bug 579275 – Patch which removes dll api in headers and adds a namespace option * codegen/h2def.py: Add -n --namespace option and the code to remove dll API in headers, Added documentation 2009-04-17 Paul Pogonyshev Bug 568499 – CellRendererPixbuf stock-size property has wrong type * gobject/pygtype.c (pyg_enum_get_value): Also accept long integers. 2009-04-15 Götz Waschk Bug 550231 – missing dep on libffi in pygobject-2.0.pc * configure.ac: Define `LIBFFI_PC' subst. * pygobject-2.0.pc.in: * pygobject-2.0-uninstalled.pc.in: Use it. 2009-04-15 Paul Pogonyshev Bug 555613 – gio.VolumeMonitor segfaults * gio/gvolumemonitor.override (_wrap_g_volume_monitor_tp_new): New function, return the singleton object. 2009-04-14 James Westby Bug 573753 – DeprecationWarning under python 2.6 * codegen/definitions.py (ReturnType.__init__): Don't pass 'type_name' argument to super __init__. 2009-04-14 Krzesimir Nowak Bug 576566 – several scripts from codegen directory are not distributed * codegen/Makefile.am (codegen_PYTHON): List several missing scripts. 2009-04-14 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_copy_async) change argument order to keep it consistent with the other methods. 2009-04-13 Paul Pogonyshev Bug 578870 – memory leak in gio.File.copy_async * gio/gio.override (PyGIONotify): Add 'slaves' field. (pygio_notify_new_slave): New function. (pygio_notify_reference_callback): Recurse for slaves, if any. (pygio_notify_free): Likewise. * gio/gfile.override (file_progress_callback_marshal): Use new chaining functionality to avoid leaking the second PyGIONotify structure. Rename 'callback' as 'progress_callback' for clarity. 2009-04-12 Gian Mario Tagliaretti * gio/gio.defs: (g_file_monitor) should accept None for cancellable and set the default flag to G_FILE_MONITOR_NONE. 2009-04-09 Jonathan Matthew Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling Py_XDECREF * gio/gio.override: Ensure we're holding the GIL before potentially destroying the callback and data. 2009-04-05 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_set_display_name_async) Wrap new GFile method. * tests/test_gio.py: Test the above methods. 2009-04-05 Tristan Hill reviewed by: Gustavo J. A. M. Carneiro. * glib/pygoptioncontext.c (pyg_option_get_context): Add a semi-private method to return the option context C object from an option context wrapper. Used in gnome-python for fixing Bug #507174. 2009-04-05 Gustavo J. A. M. Carneiro * gobject/pygtype.c (pyg_value_from_pyobject): Bug 577999 – converting a negative long Python value to a GUINT64 GValue doesn't error out as it should. 2009-04-04 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_set_attributes_async) (_wrap_g_file_set_attributes_finish) Wrap new GFile methods. * tests/test_gio.py: Test the above methods. 2009-03-31 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_query_filesystem_info_async) Fix a typo. 2009-03-31 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_query_filesystem_info_async) Wrap new GFile method. 2009-03-31 Gian Mario Tagliaretti * gio/gio.defs: Add missing g_file_query_filesystem_info_async and g_file_query_filesystem_info_finish 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_mount_mountable) Swap kwargs names to reflect the code. 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_mount_enclosing_volume) Swap kwargs names to reflect the code. 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_find_enclosing_mount_async) Wrap new GFile method. 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_eject_mountable) Wrap new GFile method. 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_copy) revert previous commit. 2009-03-30 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_copy) callback cannot be optional. 2009-03-29 Gian Mario Tagliaretti * gio/gvolume.override: (_wrap_g_volume_mount) should accept None for mount_operation. 2009-03-29 Gian Mario Tagliaretti * gio/gvolume.override: Swap kwargs names to reflect the code. 2009-03-29 Tobias Mueller * ltihooks.py: * pygtk.py: * COPYING: * gobject/pygparamspec.h: * gobject/pygpointer.c: * gobject/ffi-marshaller.h: * gobject/pygtype.c: * gobject/__init__.py: * gobject/pygpointer.h: * gobject/pygtype.h: * gobject/pygflags.c: * gobject/pyginterface.c: * gobject/pygflags.h: * gobject/pygboxed.c: * gobject/gobjectmodule.c: * gobject/pygenum.c: * gobject/pyginterface.h: * gobject/pygboxed.h: * gobject/pygobject.c: * gobject/constants.py.in: * gobject/pygenum.h: * gobject/propertyhelper.py: * gobject/pygparamspec.c: * gobject/ffi-marshaller.c: * glib/pygmainloop.c: * glib/pygoptioncontext.h: * glib/pygmainloop.h: * glib/pyglib-private.h: * glib/__init__.py: * glib/pygoptiongroup.c: * glib/pygspawn.c: * glib/pygmaincontext.c: * glib/pygoptiongroup.h: * glib/pygspawn.h: * glib/pygmaincontext.h: * glib/option.py: * glib/pygsource.c: * glib/glibmodule.c: * glib/pygiochannel.h: * glib/pygsource.h: * glib/pyglib.c: * glib/pyglib.h: * glib/pyglib-python-compat.h: * glib/pygoptioncontext.c: * gio/gfileinfo.override: * gio/gappinfo.override: * gio/__init__.py: * gio/gfileattribute.override: * gio/gvolume.override: * gio/gio.override: * gio/ginputstream.override: * gio/goutputstream.override: * gio/unix.override: * gio/gfile.override: * gio/gvolumemonitor.override: * gio/gapplaunchcontext.override: * gio/giomodule.c: * gio/gfileenumerator.override: * gio/pygio-utils.c: * gio/unixmodule.c: * gio/pygio-utils.h: * gio/gicon.override: Update the address of the FSF, by replacing old bits of the address with new ones. Fixes bug 577134 2009-03-29 Gian Mario Tagliaretti * gio/gio.defs: Add g_volume_should_automount 2009-03-28 Gian Mario Tagliaretti * gio/pygio-utils.[hc]: (strv_to_pylist) (pylist_to_strv) add a couple of convinence functions to convert from/to a python list and an array of strings. * gio/Makefile.am * gio/gdrive.override: * gio/gio.override: Strip GDrive overrides and wrap g_drive_enumerate_identifiers * tests/test_gio.py: * gio/gvolume.override: wrap g_volume_enumerate_identifiers * gio/gio.defs: add missing g_drive_get_identifier and g_drive_enumerate_identifiers 2009-03-22 Mark Lee Bug 559001 – Allow setting pytype wrapper class initial patch by: John Ehresman * gobject/pygtype.c (_wrap_g_type_wrapper__set_pytype): New function. * tests/test_gtype.py (GTypeTest.assertPyType), (GTypeTest.setInvalidPyType), (GTypeTest.testPyType), (GTypeTest.testInvalidPyType): Two new testcases to test the above, with accompanying helper methods. 2009-03-22 Gian Mario Tagliaretti * gio/gio.defs: Add g_file_enumerator_get_container, new in 2.18 2009-03-22 Gian Mario Tagliaretti * gio/gfileenumerator.override (_wrap_g_file_enumerator_close_async) wrap new method. * tests/test_gio.py (TestGFileEnumerator.testCloseFilesAsync): Test the above. 2009-03-09 Gian Mario Tagliaretti * docs/reference/Changelog: Create a dedicated Changelog for the docs and move the latest entries in there. 2009-02-20 James Henstridge * ltihooks.py: pull in changes from pygtk (updating license header from GPL to LGPL). 2009-02-18 Andre Klapper * gobject/pygobject.h: Change comment to avoid false positives when grep'ing for deprecated gtk functions 2009-02-17 Gustavo J. A. M. Carneiro * gio/gfile.override, gio/gio.defs, gio/gio.override: Bug 556250 again. I screwed up and gave misinformation about how to fix it. It must be pyg_begin/end_allow_threads, pyg_block/unblock_threads is only to be used for async callbacks. 2009-02-10 Gian Mario Tagliaretti Bug 556250 – non-async functions don't release python locks before calling blocking C functions * gio/gio.override: * gio/gfile.override: * gio/gio.defs: release the thread lock. 2009-02-10 Gian Mario Tagliaretti * gio/gio.defs: * gio/gio-types.defs: * gio/unix.defs: Add 2.18 gio API. 2009-02-08 Gian Mario Tagliaretti Bug 568427 – "gio.Error: Too many open files" without too many open files * gobject/pygtype.c (_wrap_g_type_wrapper__get_name): * gobject/gobjectmodule.c (get_type_name_for_class): * gobject/pygobject.c (build_parameter_list), (PyGProps_length): * gio/gfileinfo.override (_wrap_g_file_info_list_attributes): * gio/gio.override (_wrap_g_content_type_guess): * gio/gfile.override (_wrap__file_init), (_wrap_g_file_load_contents) (_wrap_g_file_load_contents_finish): Remove some memory leaks. * gio/gio.defs: add (caller-owns-return #t) all over the place to prevent memory leaks. patch contributed by Paul Pogonyshev, Paolo Borelli and Gian Mario Tagliaretti. 2009-02-06 Murray Cumming * codegen/h2def.py DefsWriter::write_enum_defs(): Prevent an exception when the prefix is empty. 2009-01-29 Paul Pogonyshev Bug 569350 – Inconsistent use of tabs and spaces in pygtk.py * pygtk.py: Replace all tabs with spaces. 2009-01-29 Paul Pogonyshev Bug 567792 – gio.InputStream.read_async can cause memory corruption * gio/gio.override (py_decref_callback): Remove (unused now). (pygio_notify_allocate_buffer, pygio_notify_attach_to_result) (pygio_notify_get_attached): New functions. (async_result_callback_marshal): Attach to the result object if asked and then don't free self. Fix reference leak (spotted by Gustavo). * gio/ginputstream.override (async_result_callback_marshal_read): Remove. Use new attachment functionality in async_result_callback_marshal() instead. (_wrap_g_input_stream_read_async): Use the new functions (also those mentioned in the cleanup log below). (_wrap_g_input_stream_read_finish): Use the new functions. 2009-01-27 Daniel Elstner * codegen/docextract_to_xml.py (escape_text): Do not escape the ampersand "&" in entity references (bug #568485). Replace some unusual entity references in the output with their literal values. 2009-01-14 Paul Pogonyshev Bug 566571 – gtk.Buildable interface method override is not recognized * gobject/gobjectmodule.c (pyg_type_add_interfaces): New function, break out code repetition out of pyg_type_register(). * tests/test_subtype.py (TestSubType.test_gtk_buildable_virtual_method): New test case (inactive). 2009-01-14 Paul Pogonyshev Bug 566706 – cleanup GIO overrides * gio/gio.override (pygio_notify_new) (pygio_notify_using_optional_callback) (pygio_notify_callback_is_valid_full) (pygio_notify_callback_is_valid) (pygio_notify_reference_callback): New functions. (pygio_notify_free): Rename from pygio_free_notify() and extend. (async_result_callback_marshal): Warn if new `referenced' field is not set (programming error). (_wrap_g_drive_eject, _wrap_g_drive_poll_for_media) (_wrap_g_mount_unmount, _wrap_g_mount_eject) (_wrap_g_mount_remount): Lots of cleanup: use new functions instead of repeating code, unify and fix error handling. * gio/gfile.override (_wrap_g_file_read_async) (_wrap_g_file_load_contents_async) (_wrap_g_file_enumerate_children_async) (_wrap_g_file_mount_mountable, _wrap_g_file_unmount_mountable) (_wrap_g_file_mount_enclosing_volume, _wrap_g_file_copy) (_wrap_g_file_copy_async, _wrap_g_file_move) (_wrap_g_file_append_to_async, _wrap_g_file_create_async) (_wrap_g_file_replace_async, _wrap_g_file_query_info_async) (_wrap_g_file_replace_contents_async): Similar cleanup. * gio/gfileenumerator.override (_wrap_g_file_enumerator_next_files_async): Similar cleanup. * gio/gicon.override (_wrap_g_loadable_icon_load_async): Similar cleanup. * gio/ginputstream.override (_wrap_g_input_stream_close_async): Similar cleanup. * gio/goutputstream.override (_wrap_g_output_stream_write_async) (_wrap_g_output_stream_close_async): Similar cleanup. * gio/gvolume.override (_wrap_g_volume_mount) (_wrap_g_volume_eject): Similar cleanup. * tests/test_gio.py (TestFile.test_copy_async): Fix the test. 2009-01-09 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Add a comment explaining why the two for loops for registering interfaces. 2009-01-07 Paul Pogonyshev Bug 566744 – _wrap_g_input_stream_read_async() argument parsing has incorrect keyword args * gio/ginputstream.override (_wrap_g_input_stream_read_async): Fix keyword list to be in sync with positional arguments. 2009-01-06 Gian Mario Tagliaretti Bug 566737 – Bad -I ordering can break build * Makefile.am: * gobject/Makefile.am: * gio/Makefile.am: * tests/Makefile.am: Commit a patch from [dmacks at netspace dot org] 2009-01-04 Mads Chr. Olesen * gio/gio.defs (gio.File.copy_async, gio.File.copy_finish): Define methods. * gio/gfile.override (_wrap_g_file_copy_async): New function. * tests/test_gio.py (TestFile.test_copy_async): Test the methods. 2009-01-04 Przemysław Grzegorczyk Bug 563714 – GNOME Goal: Clean up GLib and GTK+ includes * gobject/generate-constants.c: * glib/pygspawn.c: Only include toplevel . 2009-01-04 Paul Pogonyshev Bug 564018 – pygobject libtool-2.2 patch * configure.ac: Apply the patch provided by Cygwin Ports maintainer. 2009-01-04 Paul Pogonyshev * configure.ac: Branch, bump version to 2.17.0. === 2.16.0 === 2008-12-24 Paul Pogonyshev Bug 547119 – gobject.timeout_add_seconds() not found in docs * docs/reference/pyglib-functions.xml (glib.timeout_add_seconds): Describe. 2008-12-21 Paul Pogonyshev Bug 564102 – _wrap_g_output_stream_write_async not adding a reference to the buffer passed * gio/gio.override (pygio_notify_copy_buffer): New function. (pygio_free_notify): Free new `buffer' field if it is set. * gio/goutputstream.override (_wrap_g_output_stream_write_async): Copy the buffer with new pygio_notify_copy_buffer() and use the copy for g_output_stream_write_async() call. * gio/gfile.override (_wrap_g_file_replace_contents_async): Same as for _wrap_g_output_stream_write_async(). 2008-12-03 Paul Pogonyshev * glib/pyglib.c (pyglib_error_check): Test if `domain' is not-null before using it (avoids segfaults, see bug #561826). 2008-10-31 John Finlay * codegen/__init__.py (__all__): Add defsgen to __all__ list. * codegen/h2def.py (find_enum_defs): Strip out # directives from enum defintions. (clean_func): Change ' * G_CONST_RETURN * ' to '** ' * codegen/Makefile.am (codegen_PYTHON): Add defsgen.py * codegen/defsgen.py (typecode): Use the passed in prefix as a hint when creating a typecode. (split_prefix,write_enum_defs,_write_obj_helper): Add function to use passed in prefix as a hint when splitting an object name into module and name. * codegen/h2def.py (DefsWriter.write_enum_defs): Make sure the prefix ends with a _ i.e. really handle the GDK_FONT_FONT, GDK_FONT_FONTSET case. 2008-09-12 Gian Mario Tagliaretti * gio/goutputstream.override (g_output_stream_write_all): use gsize instead of gssize. 2008-09-10 Paul Pogonyshev Bug 530935 – pygobject_set_properties doesnt release the GIL * gobject/pygobject.c (pygobject_set_properties): Reuse set_property_from_pspec() which release GIL for us. Also make sure that g_object_thaw_notify() is called even after error. 2008-09-09 Paul Pogonyshev Bug 549517 – add __repr__ to gio.Drive, gio.Mount and gio.Volume * gio/gio.override (_wrap_g_drive_tp_repr, _wrap_g_mount_tp_repr): New functions. * gio/gvolume.override (_wrap_g_volume_tp_repr): New function. 2008-09-09 Loïc Minier Bug 551227 – Missing AC_CONFIG_MACRO_DIR([m4]) * configure.ac: Add AC_CONFIG_MACRO_DIR. 2008-09-08 Paul Pogonyshev Bug 551056 – make codegen not import when corresponding argument types are not registered * codegen/override.py (import_pat): Add support for optional 'for' clause. (Overrides.__parse_override): Handle it. * codegen/codegen.py (SourceWriter.write_imports) (SourceWriter.write_object_imports): Adapt for changes in get_imports() return value. (is_registered_object): New function. 2008-09-07 Frederic Peters * gio/gfile.override (_wrap_g_file_load_contents) (_wrap_g_file_load_contents_finish): Fix typos breaking compilation (bug #551212). 2008-09-07 Jonathan Matthew Bug 551059 – GFile load_contents methods chop data at first \0 * gio/gfile.override: Use 's#' (length specified) rather than 's' when constructing result values in load_contents and load_contents_finish. 2008-09-03 Johan Dahlin * configure.ac: Post release version bump === 2.15.4 === 2008-09-03 Johan Dahlin * NEWS: Update 2008-09-03 Loïc Minier * gobject/pygpointer.c: (pyg_register_pointer): Fix typo (s/&type/type) introduced in r886 causing weird crashes on x86-64; bug #550463. 2008-09-01 Gian Mario Tagliaretti * codegen/argtypes.py: add G_TYPE_CLOSURE boxed type in codegen. 2008-08-31 Johan Dahlin * configure.ac: Post release version bump === 2.15.3 === 2008-08-31 Johan Dahlin * NEWS: Update 2008-08-30 Gustavo J. A. M. Carneiro * glib/pyglib.h: * gobject/pygobject.c: Fix memory problems reported by valgrind due to invalid tp_basicsize in PyGPropsDescr_Type. Closes #549945. 2008-08-28 Paul Pogonyshev Bug 549191 – Constructor of gtk.TreeView raises TypeError when model is None * gobject/pygtype.c (pyg_value_from_pyobject): Handle None in G_TYPE_INTERFACE branch. 2008-08-28 Paul Pogonyshev Bug 549351 – an unitialized variable in PyGLib * glib/pygmainloop.c (pyg_main_loop_init): Initialize `is_running'. 2008-08-28 Paul Pogonyshev Bug 547633 – cannot create new threads when pygtk is used * glib/pyglib.c (_pyglib_notify_on_enabling_threads): New function. (pyglib_enable_threads): Invoke all callbacks added with new _pyglib_notify_on_enabling_threads(). * gobject/gobjectmodule.c (pyg_note_threads_enabled): New function (callback for new _pyglib_notify_on_enabling_threads()). (PYGLIB_MODULE_START): Initialize 'pygobject_api_functions.threads_enabled' and also watch for thread being enabled later on. 2008-08-28 Paul Pogonyshev Bug 547088 – wrap g_content_types_get_registered() * gio/gio.override (_wrap_g_drive_get_volumes): Fix refleak. (_wrap_g_content_types_get_registered): New function. * gio/gfileenumerator.override (_wrap_g_file_enumerator_next_files_finish): Fix refleak. * gio/gvolumemonitor.override (_wrap_g_volume_monitor_get_connected_drives): Fix refleak. (_wrap_g_volume_monitor_get_volumes): Likewise. (_wrap_g_volume_monitor_get_mounts): Likewise. 2008-08-28 Paul Pogonyshev Bug 547494 – gio.InputStream.read() looks broken * gio/gio.defs (gio.InputStream.read_part): Rename from read(), document. (gio.InputStream.read): Rename from read_all(), document. (gio.OutputStream.write_part): Rename from write(), document. (gio.OutputStream.write): Rename from write_all(), document. * gio/ginputstream.override (_wrap_g_input_stream_read): Fix several bugs. (_wrap_g_input_stream_read_all): New function. * gio/goutputstream.override (_wrap_g_output_stream_write_all): New function. * tests/test_gio.py (TestInputStream.testRead): Add more tests. (TestInputStream.test_read_part): New test. (TestInputStream._read_in_loop): New helper method. (TestOutputStream.test_write_part): New test. 2008-08-16 Paul Pogonyshev * gio/gfile.override (_wrap_g_file_enumerate_children_async): Fix keywords getting out of sync with actual argument order. 2008-08-13 Paul Pogonyshev Bug 547495 – wrap four important asynchronous methods in gio.Drive and gio.Mount * gio/gio.defs (gio.Drive.eject, gio.Drive.poll_for_media) (gio.Mount.remount): Document. * gio/gio.override (_wrap_g_drive_eject) (_wrap_g_drive_poll_for_media, _wrap_g_mount_eject) (_wrap_g_mount_remount): New functions. 2008-08-12 Paul Pogonyshev Bug 547484 – wrap gio.DataInputStream.read_line and ...read_until * tests/test_gio.py (TestDataInputStream): New test case. * gio/gio.defs (gio.DataInputStream.read_line) (gio.DataInputStream.read_until): Document. * gio/ginputstream.override (_wrap_g_data_input_stream_read_line) (_wrap_g_data_input_stream_read_until): New functions. 2008-08-12 Paul Pogonyshev Bug 547354 – wrap a few memory stream methods * gio/ginputstream.override (_wrap_g_memory_input_stream_add_data): New function. * gio/gio.defs (gio.MemoryOutputStream.get_contents): Rename from get_data() to avoid name clash. * gio/goutputstream.override (_wrap_g_memory_output_stream_new) (_wrap_g_memory_output_stream_get_data): New functions. * tests/test_gio.py (TestMemoryInputStream) (TestMemoryOutputStream): New test cases. 2008-08-12 Paul Pogonyshev * gio/gio.override: Ignore `g_io_module*' and `g_io_scheduler_*'. 2008-08-11 Paul Pogonyshev Bug 540376 – No TypeError raised when type is None * gobject/gobjectmodule.c (pyg_signal_new): Add check on second argument type. * tests/test_signal.py (TestSignalCreation): New test case. 2008-08-11 Paul Pogonyshev Bug 547104 – improve type wrapper creation * gio/gappinfo.override (_wrap_g_app_info_tp_richcompare) (_wrap_g_app_info_tp_repr): New functions. * tests/test_gio.py (TestAppInfo.test_eq): New test. 2008-08-11 Paul Pogonyshev Bug 547104 – improve type wrapper creation * gobject/pygobject.c (pygobject_register_class): Use new pygobject_inherit_slots() to propagate custom slots in normal types too. (pygobject_inherit_slots): New function, break out of pygobject_new_with_interfaces() and rewrite a bit. (pygobject_find_slot_for): Add new argument that can forbid overriding non-NULL slots. * gio/gicon.override (pygio_do_icon_richcompare): Remove, the code is now directly in _wrap_g_icon_tp_richcompare(). (_wrap_g_file_icon_tp_richcompare, _wrap_g_file_icon_tp_hash) (_wrap_g_themed_icon_tp_richcompare, _wrap_g_themed_icon_tp_hash): Remove, duplicating code in this way is not needed anymore. 2008-08-10 Paul Pogonyshev Bug 546120 – make gio.File more Pythonic * gio/gfile.override (_wrap_g_file_tp_richcompare) (_wrap_g_file_tp_hash, _wrap_g_file_tp_repr): New functions. * tests/test_gio.py (TestFile.test_eq, TestFile.test_hash): New tests. 2008-08-10 Paul Pogonyshev Bug 547104 – improve runtime type wrapper creation * gobject/pygobject.c (pygobject_new_with_interfaces): Use new pygobject_find_slot_for() for `tp_richcompare', `tp_compare`, `tp_hash', `tp_iter', `tp_repr', `tp_str' and `tp_print'. (pygobject_find_slot_for): New static function. 2008-08-10 Jonathan Matthew Bug 547134 – fix docstring line length * gio/gio.defs: Fix docstring line lengths so they don't wrap across lines in an 80 column terminal. 2008-08-10 Gian Mario Tagliaretti * gio/gio.defs: Add GFile.query_default_handler which was missing from the defs. 2008-08-10 Jonathan Matthew Bug 547067 – add File.replace_contents, replace_contents_async, replace_contents_finish. * gio/gfile.override: * gio/gio.defs: * tests/test_gio.py: Add overrides, docs, and tests for File.replace_contents, replace_contents_async, and replace_contents_finish. 2008-08-09 Paul Pogonyshev * tests/test_gicon.py (TestThemedIcon.test_constructor): Fix to not use `use_default_fallbacks' property (it's new). 2008-08-09 Paul Pogonyshev Bug 546135 – GIcon and implementations improvements * gio/gio.defs (g_file_icon_new): Change from method of gio.File to constructor of gio.FileIcon. * tests/test_gicon.py (TestIcon.test_eq, Test_Eq.test_hash) (TestLoadableIcon.setUp): Adapt accordingly. (TestFileIcon): New test case. 2008-08-09 Paul Pogonyshev Bug 546591 – File.copy progress_callback does not work * gio/gfile.override (file_progress_callback_marshal): Use PyObject_CallFunction() instead of PyEval_CallFunction(). Use "K" instead of "k" (the latter is not correct for 32-bit platforms). Don't free 'notify' here. (_wrap_g_file_copy): Free 'notify'. (_wrap_g_file_move): Likewise. * gio/gio.override (pygio_free_notify): New function. (async_result_callback_marshal): Use it. * tests/test_gio.py (TestFile.test_copy_progress.progress): New test. 2008-08-09 Paul Pogonyshev Bug 546135 – GIcon and implementations improvements * gio/gio.defs (gio.LoadableIcon.load) (gio.LoadableIcon.load_async, gio.LoadableIcon.load_finish): Document. * gio/Makefile.am: * gio/gicon.override: New file: parts of 'gio.override', three methods of gio.LoadableIcon and gio.ThemedIcon constructor. * gio/gio.override: Move over all icon-related overrides to 'gicon.override'. * tests/Makefile.am: * tests/test_gicon.py: New file: parts of 'test_gio.py' and several new gio.Icon tests. * tests/test_gio.py (TestThemedIcon): Move over to 'test_gicon.py'. 2008-08-07 Jonathan Matthew Bug 546734 – Missing Py_INCREFs for some file async methods * gio/gfile.override: Increment refcounts on callbacks and callback data for append_to_async, create_async, replace_async, query_info_async and load_contents_async as for all other async methods. 2008-08-06 Johan Dahlin * gio/gfile.override: * gio/gio.defs: Move the progress callback for move/copy so it's consistent with the documentation and positional arguments. Update documentation as well 2008-08-06 Johan Dahlin * glib/pyglib.c (pyglib_enable_threads): * gobject/gobjectmodule.c (pyg_threads_init), (pygobject_enable_threads): Add a pygobject_enable_threads wrapper around pyglib_threads_enable and return 0/-1 which existing gobject based applications expect. 2008-08-06 Johan Dahlin * glib/pyglib.c (pyglib_init): return in case of error instead of trying to access the internal types. 2008-08-06 Paul Pogonyshev * gio/gio.override: Add 'pygio_do_icon_richcompare' prototype to header. (_wrap_g_file_icon_tp_repr, _wrap_g_themed_icon_tp_repr): Fix return value type in signature. 2008-08-05 Paul Pogonyshev Bug 546135 – GIcon and implementations improvements * gio/gio-types.defs (FileIcon): New 'define-object'. * gio/gio.override (pygio_do_icon_richcompare) (_wrap_g_icon_tp_richcompare, _wrap_g_icon_tp_hash) (_wrap_g_file_icon_tp_richcompare, _wrap_g_file_icon_tp_hash) (_wrap_g_file_icon_tp_repr, _wrap_g_themed_icon_tp_richcompare) (_wrap_g_themed_icon_tp_hash, _wrap_g_themed_icon_tp_repr): New functions. 2008-08-03 Gian Mario Tagliaretti Bug 546046 – Wrap GFile.replace_async and query_info_async * tests/test_gio.py: * gio/gfile.override: * gio/gio.defs: Wrap GFile.replace_async and query_info_async with docs and test. 2008-08-03 Paul Pogonyshev * glib/pyglib.h: * glib/pyglib.c (pyglib_enable_threads): Change return value from 'gboolean' to 'int' and changed semantics to Pythonic: restores backwards compatibility. * gobject/gobjectmodule.c (pyg_threads_init): Treat return value accordingly (bug #544946). 2008-08-02 Gian Mario Tagliaretti Bug 546020 – Wrap GFile.create_async * tests/test_gio.py: * gio/gfile.override: * gio/gio.defs: Wrap GFile.create_async with docs and test 2008-08-02 Johan Dahlin * codegen/docgen.py: Remove SGML support, require python 2.4, modernize, PEP-8ify. Make it run on gio. * codegen/definitions.py: Make property iterable * gio/gio.defs: Include the gio-types.defs file. 2008-08-02 Johan Dahlin * glib/glibmodule.c (pyglib_set_prgname): * glib/pygoptioncontext.c (pyg_option_context_init), (pyg_option_context_set_help_enabled), (pyg_option_context_set_ignore_unknown_options), (pyg_option_context_set_main_group), (pyg_option_context_add_group): * glib/pygoptiongroup.c (arg_func), (pyg_option_group_add_entries), (pyg_option_group_set_translation_domain), (pyg_option_group_compare), (pyglib_option_group_register_types): Fix compilation warnings, clean up style and indentation. 2008-08-02 Gian Mario Tagliaretti Bug 545959 – Wrap GFile.append_to_async * tests/test_gio.py: * gio/gfile.override: * gio/gio.defs: Wrap GFile.append_to_async with docs and test 2008-08-02 Johan Dahlin * gio/gfileinfo.override: * gio/gio.override: * glib/glibmodule.c (pyglib_get_current_time): * glib/pyglib.c (pyglib_float_from_timeval): * glib/pyglib.h: Add pyglib_float_from_timeval and use it 2008-08-02 Johan Dahlin * docs/Makefile.am: * docs/reference/pyglib-constants.xml: * docs/reference/pyglib-functions.xml: * docs/reference/pyglib-maincontext.xml: * docs/reference/pyglib-mainloop.xml: * docs/reference/pygobject-classes.xml: * docs/reference/pygobject-constants.xml: * docs/reference/pygobject-functions.xml: * docs/reference/pygobject-maincontext.xml: * docs/reference/pygobject-mainloop.xml: Separate the glib and gobject bindings in the manual. 2008-08-02 Gian Mario Tagliaretti Bug 545920 – Wrap GFile.query_writable_namespaces * tests/test_gio.py: * gio/gfile.override: * gio/gio.defs: Wrap GFile.query_writable_namespaces with docs and test 2008-08-02 Johan Dahlin * gio/gio.defs: * gio/gfile.override: * tests/test_gio.py: Wrap gio.File.move 2008-08-02 Johan Dahlin * gio/Makefile.am: * gio/gfile.override: * gio/gio.defs: * gio/gio.override: * gio/gvolume.override: Wrap gio.Volume.mount and gio.Volume.eject 2008-08-01 Gian Mario Tagliaretti * gio/gio.defs: Add docstring for gio.FileInfo.list_attributes 2008-08-01 Johan Dahlin Bug 545861 – g_file_info_get_modification_time is missing * gio/gfileinfo.override: * gio/gio.defs: * tests/test_gio.py: Wrap, add test and documentation 2008-08-01 Johan Dahlin Bug 545846 – g_vfs_get_supported_uri_schemes is missing * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Wrap, add test and documentation 2008-08-01 Johan Dahlin * glib/glibmodule.c (pyglib_set_application_name): Use %r instead of %s, this is not python! 2008-07-31 Johan Dahlin * glib/glibmodule.c (pyglib_set_prgname) (pyglib_set_application_name): Use METH_O instead of METH_VARARGS. (_glib_functions): Add doc strings for idle_add, timeout_add, timeout_add_seconds, io_add_watch, child_watch_add, source_remove, main_depth and main_context_default. 2008-07-29 Gian Mario Tagliaretti * tests/test_gio.py: * gio/gfileattribute.override: * gio/gio.override: * gio/gio.defs: * gio/gfile.override: * gio/Makefile.am: Wrap new object gio.FileAttributeInfo, g_file_set_attribute and g_file_query_settable_attributes methods. 2008-07-29 Gian Mario Tagliaretti * gio/unix-types.defs: Wrap gio.unix.DesktopAppInfo * gio/gappinfo.override: * gio/gio.override: * gio/gio.defs: * gio/gapplaunchcontext.override: * gio/Makefile.am: Wrap g_app_info_launch_uris, g_app_info_launch, g_app_launch_context_get_display and g_app_launch_context_get_startup_notify_id * gio/pygio-utils.c: * gio/pygio-utils.h: Add a couple of useful function to reduce the code in wrapped methods. 2008-07-29 Johan Dahlin * examples/gio/downloader.py: * gio/giomodule.c (init_gio): Add gio.FILE_ATTRIBUTE_* constants and update the examples to use them. 2008-07-29 Johan Dahlin * examples/gio/downloader.py: Add a new example * gio/ginputstream.override: Use a string internally instead of a PyStringObject when in read_async. Create a new python string in finish and honor the number of bytes read. 2008-07-28 Johan Dahlin * glib/pyglib-python-compat.h: * gobject/pygobject-private.h: Move all compatibility into the same place, fixes build on python 2.4. 2008-07-27 Johan Dahlin * glib/option.py: Remove tabs. Use sys.exc_info()[1] to fetch the exception value * gobject/__init__.py: * gobject/propertyhelper.py: Import gobject._gobject instead of just gobject. * gobject/Makefile.am: * gobject/constants.py.in: * gobject/generate-constants.c (main): Don't add long suffix if python >= 3.0 2008-07-27 Johan Dahlin * glib/pyglib-python-compat.h: * gobject/gobjectmodule.c (pyg_object_new), (pyg__install_metaclass): * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_init), (pyg_register_boxed): * gobject/pygenum.c (pyg_enum_reduce): * gobject/pyginterface.c (pyg_interface_init), (pyg_register_interface): * gobject/pygobject.c (pygobject_get_inst_data), (pygobject_register_class), (pygobject_new_with_interfaces), (pygobject_dealloc), (pygobject_repr), (pygobject_emit), (pygobject_chain_from_overridden), (pygobject_weak_ref_notify): * gobject/pygparamspec.c (pygobject_paramspec_register_types): * gobject/pygpointer.c (pyg_pointer_dealloc), (pyg_pointer_init), (pyg_register_pointer): * gobject/pygtype.c (pyg_type_from_object), (pyg_value_array_from_pyobject), (pyg_value_from_pyobject), (pyg_object_descr_doc_get): Use the Py_TYPE macro everywhere. 2008-07-27 Johan Dahlin * glib/pyglib-python-compat.h: Add a Py_TYPE macro for accessing ob_type. * glib/glibmodule.c (pyglib_register_constants): * gobject/gobjectmodule.c (pygobject__g_instance_init), (pyg_integer_richcompare): * gobject/pygenum.c (pyg_enum_repr), (pyg_enum_from_gtype), (pyg_enum_add), (pyg_enum_get_value_name), (pyg_enum_get_value_nick): * gobject/pygflags.c (pyg_flags_repr), (pyg_flags_from_gtype), (pyg_flags_add), (pyg_flags_and), (pyg_flags_or), (pyg_flags_xor), (pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick), (pyg_flags_get_value_names), (pyg_flags_get_value_nicks): Use Py_TYPE and PyLong macros to access struct fields 2008-07-27 Johan Dahlin * gobject/gobjectmodule.c (pyg_param_spec_from_object), (add_properties), (pyg_signal_new), (pyg_signal_list_ids), (pyg_signal_lookup), (pyg_signal_query): * gobject/pygenum.c (pyg_enum_richcompare), (pyg_enum_new), (pyg_enum_from_gtype), (pyg_enum_add), (pyg_enum_reduce), (pygobject_enum_register_types): * gobject/pygflags.c (pyg_flags_richcompare), (pyg_flags_new), (pyg_flags_from_gtype), (pyg_flags_add), (pyg_flags_and), (pyg_flags_or), (pyg_flags_xor), (pygobject_flags_register_types): * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_disconnect_by_func), (pygobject_handler_block_by_func), (pygobject_handler_unblock_by_func), (pygobject_get_refcount): * gobject/pygparamspec.c (pyg_param_spec_getattr): * gobject/pygtype.c (_wrap_g_type_wrapper__get_depth), (pyg_type_from_object), (pyg_enum_get_value), (pyg_flags_get_value), (pyg_value_from_pyobject), (pyg_value_as_pyobject): Use _PyLong macros. 2008-07-27 Johan Dahlin * gobject/pygboxed.c (pygobject_boxed_register_types): * gobject/pygenum.c (pygobject_enum_register_types): * gobject/pygflags.c (pygobject_flags_register_types): * gobject/pygobject.c (pygobject_object_register_types): * gobject/pygparamspec.c (pygobject_paramspec_register_types): * gobject/pygpointer.c (pygobject_pointer_register_types): * gobject/pygtype.c (pygobject_type_register_types): Use PYGLIB_DEFINE_TYPE macro and move struct field initialization to the registration methods. 2008-07-27 Johan Dahlin * glib/pyglib-python-compat.h: Add _PyUnicode_Type macro * gobject/gobjectmodule.c (pyg_type_name), (pyg_type_from_name), (_pyg_signal_accumulator), (add_signals), (add_properties), (get_type_name_for_class), (pyg_signal_list_names), (pyg_signal_name), (pyg_signal_query), (pyg_object_new), (pyg_add_emission_hook), (pyg_remove_emission_hook): * gobject/pygboxed.c (pyg_boxed_repr): * gobject/pygenum.c (pyg_enum_repr), (pyg_enum_add), (pyg_enum_get_value_name), (pyg_enum_get_value_nick): * gobject/pygflags.c (pyg_flags_repr), (pyg_flags_add), (pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick), (pyg_flags_get_value_names), (pyg_flags_get_value_nicks): * gobject/pygobject.c (build_parameter_list), (PyGProps_getattro), (PyGProps_setattro), (pygobject_register_class), (pygobject_repr), (pygobject_init), (pygobject_get_properties), (pygobject_set_properties), (pygobject_connect), (pygobject_connect_after), (pygobject_connect_object), (pygobject_connect_object_after), (pygobject_emit), (pygobject_stop_emission), (pygobject_disconnect_by_func), (pygobject_handler_block_by_func), (pygobject_handler_unblock_by_func), (pygobject_object_register_types): * gobject/pygparamspec.c (pyg_param_spec_repr), (pyg_param_spec_getattr): * gobject/pygpointer.c (pyg_pointer_repr): * gobject/pygtype.c (pyg_type_wrapper_repr), (_wrap_g_type_wrapper__get_name), (pyg_type_from_object), (pyg_enum_get_value), (pyg_flags_get_value), (pyg_value_from_pyobject), (pyg_value_as_pyobject), (object_doc_descr_get), (_pyg_strv_from_gvalue), (_pyg_strv_to_gvalue): Use _PyUnicode_* macros in the gobject module 2008-07-27 Johan Dahlin * gobject/Makefile.am: * gobject/gobjectmodule.c (PYGLIB_MODULE_START): * gobject/pygobject-private.h: Use glib macros to define the module, update export regexp. 2008-07-27 Johan Dahlin * gobject/Makefile.am: * gobject/gobjectmodule.c (init_gobject): * gobject/pygboxed.c (pygobject_boxed_register_types): * gobject/pygboxed.h: * gobject/pygenum.c (pygobject_enum_register_types): * gobject/pygenum.h: * gobject/pygflags.c (pygobject_flags_register_types): * gobject/pygflags.h: * gobject/pygpointer.c (pygobject_pointer_register_types): * gobject/pygpointer.h: Split out quark and type registration to the respective implementation source files, add headers. 2008-07-27 Johan Dahlin * gobject/Makefile.am: * gobject/gobjectmodule.c (pygobject_register_api), (pygobject_register_constants), (pygobject_register_features), (pygobject_register_version_tuples), (pygobject_register_warnings), (init_gobject): * gobject/pygobject-private.h: * gobject/pygobject.c (pyobject_copy), (pyobject_free), (pygobject_object_register_types): * gobject/pygtype.c (_pyg_strv_from_gvalue), (_pyg_strv_to_gvalue), (pygobject_type_register_types): * gobject/pygtype.h: Move off a bit more to separate functions, cleaning up the init_glib a bit more. 2008-07-27 Johan Dahlin * gobject/Makefile.am: * gobject/gobjectmodule.c (init_gobject): * gobject/pygobject-private.h: * gobject/pygobject.c: * gobject/pygparamspec.c (pygobject_paramspec_register_types): * gobject/pygparamspec.h: * gobject/pygtype.c: Move paramspec registration to a separate file, add a header for the internal API. 2008-07-27 Paul Pogonyshev * gobject/pygtype.c (pyg_enum_get_value): Issue warning if 'obj' is a PyGEnum of wrong type, i.e. not matching 'enum_type' (bug #503771). 2008-07-26 Johan Dahlin reviewed by: * glib/pyglib-python-compat.h: * glib/pyglib.h: Make a few macros public * gobject/Makefile.am: * gobject/gobjectmodule.c (init_gobject): * gobject/pyginterface.c (pyg_interface_init), (pyg_interface_free), (pyg_register_interface), (pyg_register_interface_info), (pyg_lookup_interface_info), (pygobject_interface_register_types): * gobject/pyginterface.h: * gobject/pygobject-private.h: * gobject/pygobject.c: Move GInterface wrapper into its own file 2008-07-26 Johan Dahlin * glib/Makefile.am: Also export PyInit_glib * glib/__init__.py: import glib._glib instead of just _glib * glib/pyglib-python-compat.h: * glib/pygoptioncontext.c (pyg_option_context_parse): * glib/pygsource.c (source_repr), (pyg_source_attach), (pyg_source_get_priority), (pyg_source_set_priority), (pyg_source_get_id), (pyg_source_prepare), (pyg_poll_fd_repr): * glib/pygspawn.c (pyg_pid_close), (pyg_pid_free), (pyg_pid_new), (pyglib_spawn_async), (pyglib_spawn_register_types): Go over the rest and replace missing symbols on python3. the glib module successfully compiles and runs now. 2008-07-26 Johan Dahlin * glib/pygiochannel.c (py_io_channel_shutdown), (py_io_channel_set_buffer_size), (py_io_channel_get_buffer_size), (py_io_channel_set_buffered), (py_io_channel_get_buffered), (py_io_channel_set_encoding), (py_io_channel_get_encoding), (py_io_channel_read_chars), (py_io_channel_write_chars), (py_io_channel_write_lines), (py_io_channel_flush), (py_io_channel_set_flags), (py_io_channel_get_flags), (py_io_channel_get_buffer_condition), (py_io_channel_set_close_on_unref), (py_io_channel_add_watch), (py_io_channel_win32_poll), (py_io_channel_win32_make_pollfd), (py_io_channel_read_line), (py_io_channel_read_lines), (py_io_channel_seek), (py_io_channel_init): * glib/pyglib.c (pyglib_gerror_exception_check): * glib/pygoptioncontext.c (pyg_option_context_init): * glib/pygoptiongroup.c (check_if_owned): * glib/pygsource.c (pyg_idle_init), (pyg_timeout_init), (pyg_poll_fd_init): gobject -> glib 2008-07-26 Johan Dahlin * glib/pygmaincontext.c (pyglib_maincontext_register_types): * glib/pygmainloop.c (pyg_main_loop_init), (pyglib_mainloop_register_types): * glib/pygoptioncontext.c (pyg_option_context_set_main_group), (pyglib_option_context_register_types): * glib/pygoptiongroup.c (pyglib_option_group_register_types): * glib/pygspawn.c (pyglib_spawn_register_types): Convert the pid/mainloop/maincontext/optiongroup/optioncontext. 2008-07-26 Johan Dahlin * glib/pygsource.c (pyglib_source_register_types): Convert the source objects to use macros, saves ~150 lines of code! 2008-07-26 Johan Dahlin * glib/glibmodule.c (get_handler_priority), (pyglib_idle_add), (pyglib_timeout_add), (pyglib_timeout_add_seconds), (pyglib_io_add_watch), (pyglib_child_watch_add), (pyglib_markup_escape_text), (pyglib_main_depth), (pyglib_filename_from_utf8), (pyglib_get_application_name), (pyglib_get_prgname), (PYGLIB_MODULE_START): * glib/pygiochannel.c (py_io_channel_next), (py_io_channel_shutdown), (py_io_channel_get_buffer_size), (py_io_channel_get_buffered), (py_io_channel_get_encoding), (py_io_channel_read_chars), (py_io_channel_write_chars), (py_io_channel_write_lines), (py_io_channel_flush), (py_io_channel_set_flags), (py_io_channel_get_flags), (py_io_channel_get_buffer_condition), (py_io_channel_win32_poll), (py_io_channel_read_line), (py_io_channel_read_lines), (py_io_channel_seek), (pyglib_iochannel_register_types): * glib/pyglib-private.h: * glib/pyglib-python-compat.h: * glib/pyglib.c (pyglib_init), (pyglib_error_check), (pyglib_gerror_exception_check), (pyglib_register_exception_for_domain): Add macros for supporting additional python versions. Start using them for the glib module. Tested on python 2.5 and 3.0. 2008-07-26 Johan Dahlin * configure.ac: * m4/python.m4: Add macros which are compatible with python > 2.6. 2008-07-26 Johan Dahlin * configure.ac: Post release version bump === 2.15.2 === 2008-07-26 Johan Dahlin * NEWS: Update 2008-07-26 Johan Dahlin * gobject/Makefile.am (_gobject_la_SOURCES): Build fix, remove extra \ * examples/gio/directory-async.py: * gio/Makefile.am: * gio/giomodule.c (init_gio): * glib/pyglib.c (pyglib_error_check), (pyglib_register_exception_for_domain): * glib/pyglib.h: * tests/test_gio.py: Add a new API for registering exceptions for a GError domain. Register a new exception for G_IO_ERROR, update tests and examples to use the new exception. 2008-07-26 Johan Dahlin * glib/pygoptioncontext.c (pyg_option_context_set_main_group), (pyg_option_context_add_group): Send in a PyObject instead of a PyGOptionGroup object. 2008-07-26 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyglib_register_constants), (init_glib): * glib/option.py: * glib/pyglib.c (pyglib_init), (pyglib_option_group_transfer_group), (pyglib_option_group_new), (pyglib_option_context_new): * glib/pyglib.h: * glib/pygoptioncontext.c (pyg_option_context_parse), (pyg_option_context_set_main_group), (pyg_option_context_add_group), (pyglib_option_context_register_types): * glib/pygoptioncontext.h: * glib/pygoptiongroup.c (arg_func), (pyglib_option_group_register_types): * glib/pygoptiongroup.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (init_gobject): * gobject/option.py: * gobject/pygobject-private.h: * gobject/pygoptioncontext.c: * gobject/pygoptiongroup.c: Move option over from gobject to glib. 2008-07-26 Johan Dahlin * tests/common.py: * tests/test_conversion.py: * tests/test_enum.py: * tests/test_interface.py: * tests/test_option.py: * tests/test_source.py: * tests/test_subprocess.py: * tests/test_subtype.py: * tests/test_thread.py: * tests/test_unknown.py: Run pyflakes on the testsuite, remove unused imports and reorganize others. 2008-07-26 Johan Dahlin * glib/glibmodule.c (pyglib_register_constants), (init_glib): * gobject/__init__.py: * gobject/gobjectmodule.c (init_gobject): Move over glib constants to gobject * tests/test_gio.py: * tests/test_mainloop.py: * tests/test_source.py: * tests/test_subprocess.py: * tests/test_thread.py: Update tests to refer to glib when appropriate 2008-07-26 Johan Dahlin * README: * configure.ac: Bump required glib version to 2.10 2008-07-26 Johan Dahlin * glib/glibmodule.c (child_watch_dnotify), (pyglib_child_watch_add): * glib/pygiochannel.c (pyg_iowatch_data_free), (py_io_channel_add_watch): * glib/pygspawn.c (_pyg_spawn_async_callback), (pyglib_spawn_async): Use g_slice_new instead of g_new 2008-07-25 Johan Dahlin * gobject/Makefile.am: * tests/Makefile.am: Make distcheck pass 2008-07-25 Johan Dahlin * gobject/gobjectmodule.c (init_gobject): * gobject/pygobject-private.h: Remove private structures which moved to pyglib. 2008-07-24 Johan Dahlin Bug 544600 – pygobject building failed since 839 revision, error : "Py_ssize_t" undeclared * glib/pyglib-private.h: Add backward compatibility macros for python 2.4. * gio/gfile.override: * gio/gfileenumerator.override: * gio/ginputstream.override: * gio/gio.defs: * gio/gio.override: * gio/goutputstream.override: * tests/test_gio.py: Wrap gio.File.copy, add tests and documentation. Rename PyGAsyncRequestNotify to PyGIONotify and reuse it. 2008-07-23 Johan Dahlin * glib/pyglib.c (_pyglib_destroy_notify): Rename the function too, not just the prototype! 2008-07-21 Johan Dahlin * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add), (pyglib_timeout_add_seconds), (pyglib_io_add_watch): * glib/pyglib-private.h: * glib/pyglib.c (pyglib_destroy_notify), (_pyglib_handler_marshal): * glib/pyglib.h: * glib/pygsource.c (pyg_source_set_callback): Make pyglib_destroy_notify and pyglib_handler_marshal private. Add a few public prototypes. 2008-07-21 Johan Dahlin * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add), (pyglib_timeout_add_seconds), (pyglib_io_add_watch), (pyglib_source_remove), (pyglib_child_watch_add), (pyglib_markup_escape_text), (pyglib_get_current_time), (pyglib_main_depth), (pyglib_filename_display_name), (pyglib_filename_display_basename), (pyglib_filename_from_utf8), (pyglib_get_application_name), (pyglib_set_application_name), (pyglib_get_prgname), (pyglib_set_prgname), (pyglib_register_api), (pyglib_register_error): Mark as static, rename from pyg_* -> pyglib_*. Fill in api struct, rename struct and remove function suffix. 2008-07-21 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyg_idle_add), (pyg_timeout_add), (pyg_timeout_add_seconds), (pyg_io_add_watch), (pyglib_register_api), (pyglib_register_error), (pyglib_register_version_tuples), (init_glib): * glib/pygiochannel.c (py_io_channel_next), (py_io_channel_shutdown), (py_io_channel_set_encoding), (py_io_channel_read_chars), (py_io_channel_write_chars), (py_io_channel_write_lines), (py_io_channel_flush), (py_io_channel_set_flags), (py_io_channel_read_line), (py_io_channel_read_lines), (py_io_channel_seek), (py_io_channel_init), (pyglib_iochannel_register_types): * glib/pygiochannel.h: * glib/pyglib-private.h: * glib/pyglib.c (pyglib_threads_enabled), (pyglib_gil_state_ensure), (pyglib_gil_state_release), (pyglib_enable_threads), (pyglib_block_threads), (pyglib_unblock_threads), (pyglib_set_thread_block_funcs), (pyglib_handler_marshal), (pyglib_destroy_notify): * glib/pyglib.h: * glib/pygsource.c (pyg_source_set_callback), (pyglib_source_register_types): * glib/pygsource.h: * glib/pygspawn.c (pyglib_spawn_register_types): * glib/pygspawn.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_set_thread_block_funcs), (init_gobject): * gobject/pygiochannel.c: * gobject/pygobject-private.h: * gobject/pygsource.c: Move over Source, IOChannel, Idle, Timeout and PollFD to glib from gobject. Clean up and add a bit of new api for glib. 2008-07-21 Johan Dahlin * configure.ac: Use yes/no instead of true/false. Avoid bashism. Fix another logic bug, and let's hope I didn't break anything 2008-07-20 Paul Pogonyshev * configure.ac (pygobject_CODEGEN_DEFINES): Fix libffi check logic. 2008-07-20 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyglib_main_context_default), (init_glib): * glib/pyglib.c (pyglib_init), (pyglib_threads_enabled), (pyglib_main_context_new): * glib/pyglib.h: * glib/pygmaincontext.c (_wrap_g_main_context_iteration), (pyglib_maincontext_register_types): * glib/pygmaincontext.h: * glib/pygmainloop.c (pyg_signal_watch_prepare), (pyg_signal_watch_check), (pyg_main_loop_new), (_wrap_g_main_loop_get_context), (_wrap_g_main_loop_run), (pyglib_mainloop_register_types): * glib/pygmainloop.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_destroy_notify), (pyobject_free), (pyg_object_set_property), (pyg_object_get_property), (_pyg_signal_accumulator), (pygobject__g_instance_init), (pyg_handler_marshal), (pygobject_gil_state_ensure), (pygobject_gil_state_release), (marshal_emission_hook), (_log_func), (init_gobject): * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_new): * gobject/pygenum.c (pyg_enum_add): * gobject/pygflags.c (pyg_flags_add): * gobject/pygiochannel.c (pyg_iowatch_marshal): * gobject/pygmaincontext.c: * gobject/pygmainloop.c: * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_data_free), (pyg_toggle_notify), (pygobject_new_with_interfaces), (pygobject_weak_ref_notify): * gobject/pygobject.h: * gobject/pygoptiongroup.c (destroy_g_group), (arg_func): * gobject/pygpointer.c (pyg_pointer_new): * gobject/pygsource.c (pyg_source_get_context), (pyg_source_prepare), (pyg_source_check), (pyg_source_dispatch), (pyg_source_finalize): * gobject/pygtype.c (pyg_closure_invalidate), (pyg_closure_marshal), (pyg_signal_class_closure_marshal): * tests/common.py: Move maincontext and mainloop over to glib. Update the threadstate api to use the variant in glib. 2008-07-20 Johan Dahlin * glib/Makefile.am: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_threads_init), (pyg_error_check), (pyg_gerror_exception_check), (init_gobject): * gobject/option.py: Install the glib module, the helper library and the headers. Use it from gobject and remove the old glib specific code from there. 2008-07-20 Johan Dahlin * configure.ac: * gobject/Makefile.am: Use pkg-config to check for libffi again. 2008-07-20 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyg_main_context_default): * glib/pyglib.c (pyglib_gerror_exception_check): * glib/pyglib.h: Rename helper library to libpyglib-2.0. Move over pyg_gerror_exception_check as well. 2008-07-20 Johan Dahlin * Makefile.am: * configure.ac: * glib/Makefile.am: * glib/__init__.py: * glib/glibmodule.c (pyg_destroy_notify), (get_handler_priority), (pyg_handler_marshal), (pyg_idle_add), (pyg_timeout_add), (pyg_timeout_add_seconds), (iowatch_marshal), (pyg_io_add_watch), (pyg_source_remove), (pyg_main_context_default), (child_watch_func), (child_watch_dnotify), (pyg_child_watch_add), (pyg_markup_escape_text), (pyg_get_current_time), (pyg_main_depth), (pyg_filename_display_name), (pyg_filename_display_basename), (pyg_filename_from_utf8), (pyg_get_application_name), (pyg_set_application_name), (pyg_get_prgname), (pyg_set_prgname), (pyg_register_api), (pyg_register_error), (pyg_register_version_tuples), (init_glib): * glib/pyglib-private.h: * glib/pyglib.c (pyglib_init), (pyglib_init_internal), (pyglib_gil_state_ensure), (pyglib_gil_state_release), (pyglib_enable_threads), (pyglib_gil_state_ensure_py23), (pyglib_gil_state_release_py23), (pyglib_error_check): * glib/pyglib.h: * glib/pygspawn.c (pyg_pid_close), (pyg_pid_free), (pyg_pid_tp_init), (pyg_pid_new), (_pyg_spawn_async_callback), (pyglib_spawn_async), (pyg_spawn_register_types): * glib/pygspawn.h: Add glib bindings, currently not installed or used. Add some internal API and move over a couple of functions from the gobject module. Still very much a work in progress. 2008-07-19 Johan Dahlin * gio/gio.override: Ignore a bunch of functions which are not relevant. 2008-07-19 Johan Dahlin * gio/gfile.override: * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Bind gio.Mount.unmount, gio.File.mount_mountable, gio.File.unmount_mountable and gio.File.mount_enclosing_volume. Add documents and tests. 2008-07-19 Johan Dahlin * gio/gio.override: Set module name back to gio, as setting it to gio._gio breaks pydoc. * gio/gio.defs: Use property based constructors when possible. 2008-07-19 Johan Dahlin * examples/gio/directory-async.py: * gio/gfileenumerator.override: * gio/gio.defs: * tests/test_gio.py: Wrap gio.FileEnumerator.next_files_async/next_files_done. Update the example to use them instead of the synchronous versions, add documentation and tests. 2008-07-19 Johan Dahlin * examples/gio/directory-async.py: Only fetch name, saves a couple of syscalls. * gio/gio.override: Set name to gio._gio so pychecker/pydoc works. 2008-07-18 Johan Dahlin * examples/gio/directory-async.py: * gio/gfile.override: * gio/gfileenumerator.override: * gio/gio.defs: * tests/test_gio.py: Wrap gio.File.enumerate_children_async, add tests, docstring and an example. Also document gio.File.enumerate while we're at it. 2008-07-18 Johan Dahlin * gio/gfile.override: Use %zd instead of %d since it's a Py_ssize_t and not an int. 2008-07-18 Johan Dahlin * gio/pygio-utils.h: define NO_IMPORT_PYGOBJECT before including pygobject.h 2008-07-18 Johan Dahlin * gio/giomodule.c (init_gio): Require pygobject 2.15.2 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Add a pygio_version module attribute (DL_EXPORT): The module is called gio._gio, not just _gio. 2008-07-17 Johan Dahlin * gio/gio-types.defs: Rename gio.IOErrorEnum to gio.ErrorEnum 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Add gio.ERROR which maps to the G_IO_ERROR quark. 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Use the prefix G_IO_ for stripping constants instead of just G_ * gobject/gobjectmodule.c (pyg_constant_strip_prefix): Check so the fist part of name and strip_prefix are the same, if they don't, just strip of the part of strip_prefix which matches. This removes the initial IO_* prefix for some constants in gio. Eg, gio.IO_ERROR_* -> gio.ERROR_* 2008-07-16 Johan Dahlin * configure.ac: Post release version bump === 2.15.1 === 2008-07-16 Johan Dahlin * NEWS: Update 2008-07-15 Paul Pogonyshev * codegen/pygobject-codegen-2.0.in: Rename from 'pygtk-codegen-2.0.in'. * configure.ac: * codegen/Makefile.am: Update accordingly. 2008-07-15 Johan Dahlin * configure.ac: Post release version bump === 2.15.0 === 2008-07-15 Johan Dahlin New version * NEWS: Update * tests/Makefile.am: Make sure we can distcheck the gio module properly 2008-07-15 Johan Dahlin Bug 450659 – h2def.py - export 'typedef struct' object definitions not working * codegen/h2def.py: Patch by Lauro Moura 2008-07-14 Johan Dahlin Bug 471559 – add AM_PROG_CC_C_O to configure.ac for recent automake * configure.ac: Patch by Tim Mooney 2008-07-14 Johan Dahlin Bug 448173 – use python-config to get python includes * configure.ac: Really close the by, patch by Matthias Klose 2008-07-14 Johan Dahlin Bug 378704 – OptionParser.parse_args() returns unexpected results * gobject/option.py: Patch by Johannes Hölzl 2008-07-14 Johan Dahlin Bug 491773 – autoconf failure: .m4 files cannot be found * Makefile.am: Patch by macks@netspace.org 2008-07-14 Gian Mario Tagliaretti * gio/gfile.override: wrap File.load_contents_async and File.load_contents_finish * gio/gio.defs: Add docstring for the above methods. * tests/test_gio.py: Add a test for the above methods. 2008-07-14 Johan Dahlin Bug 487523 – Add xslfiles variable to .pc.in files * pygobject-2.0-uninstalled.pc.in: Add xslfiles variable, patch by Damien Carbery 2008-07-14 Johan Dahlin * gio/gio.defs: Remove g_file_input_stream_seek and g_file_output_stream_seek, they already implement the seekable interface. 2008-07-14 Johan Dahlin Bug 504337 - crash bug in gobject.Timeout and gobject.Idle * gobject/pygsource.c: * tests/test_source.py: Fix crash in Timeout and Idle, patch by Bryan Silverthorn. 2008-07-14 Johan Dahlin * codegen/argtypes.py: Map GSeekType to an int * gio/gfileinfo.override: * gio/ginputstream.override: * gio/goutputstream.override: Add comments for missing API 2008-07-14 Johan Dahlin * gio/Makefile.am: * gio/gfile.override: * gio/ginputstream.override: * gio/gio.override: * gio/goutputstream.override: * gio/pygio-utils.c (pygio_check_cancellable): * gio/pygio-utils.h: Refactor cancellable check to a utility function, avoids plenty of code duplication. 2008-07-14 Paul Pogonyshev * codegen/definitions.py (ReturnType): New class. (MethodDefBase.__init__): Make 'self.ret' a 'ReturnType' instance, not string. Accept 'optional' flag. * codegen/argtypes.py (ArgMatcher.get_reverse_ret): Test if 'ptype' has true 'optional' attribute and copy it to 'props' then. * codegen/reversewrapper.py (ReturnType.support_optional): New class field, False by default. (GObjectReturn.support_optional, GObjectReturn.write_decl) (GObjectReturn.write_conversion): Support optional return. * pygobject-2.0.pc.in: Add 'codegendir' variable. * codegen/pygtk-codegen-2.0.in: Make 'codegendir' refer to PyGObject's codegen, not PyGTK's one --- the latter will be removed (first part of bug #542821). 2008-07-08 Murray Cumming * codegen/h2def.py: clean_func(): Strip GSEAL out, to avoid us thinking that there are many functions called GSEAL (merge from PyGTK). 2008-01-29 Olivier Crete * codegen/h2def.py (DefsWriter.__init__): Fix copy-paste typos (merge from PyGTK). 2008-07-11 Gian Mario Tagliaretti * gio/gfile.override: wrap File.load_contents, fix a typo. * gio/gio.defs: Add docstring for File.load_contents. * tests/test_gio.py: Add a test for the above method. 2008-07-09 Juha Sahakangas * gobject/gobjectmodule.c (pyg_io_add_watch): Fix error message referencing wrong argument. 2008-06-29 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_markup_escape_text): text_size should be Py_ssize_t instead of int. Bug 540696 – gobject.markup_escape_text() causes python to segfault. 2008-06-28 Johan Dahlin * docs/reference/pygobject.xml: Document GObject.handler_block_by_func/handler_unblock_by_func 2008-06-17 Johan Dahlin * gio/gio-types.defs: * tests/test_gio.py: Sort out confusion between interfaces and objects, add test. Fixes #538601 2008-06-09 Paul Pogonyshev * gobject/pygobject.c (pygobject_copy, pygobject_deepcopy): New functions, unconditionally raise TypeError. (pygobject_methods): Hook them up. (bug #482370) 2008-05-31 Johan Dahlin * setup.py: set FFI_LIBS to '', since this is mostly used on win32. 2008-05-30 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (init_gobject): Call PyType_Ready for PyGParamSpec_Type, and add it to the module dict. 2008-05-23 Johan Dahlin * gio/gio.defs: Add default values for all GSeekType variables. 2008-05-21 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_spawn_async): Accept None for the child_setup parameter of gobject.spawn_async(). Also check that it is callable. 2008-04-27 Paul Pogonyshev * gobject/pygenum.c (pyg_enum_richcompare): Fix: raise warning as exception if asked by PyErr_Warn(). * gobject/pygflags.c (pyg_flags_richcompare): Don't return NULL after warning; more useful warning message. (#480424, borrowing code by Mark Doffman) 2008-04-21 Johan Dahlin * codegen/h2def.py: Update link to defs format discussion 2008-04-15 Johan Dahlin * gobject/gobjectmodule.c (init_gobject): Set gobject.GObject.__module__ to gobject._gobject, this helps pylint to check public methods of GObject subclasses * tests/Makefile.am (tests): * tests/test_gobject.py (TestGObjectAPI.testGObjectModule): Add a test for this (#523821, Simon Schampijer) 2008-04-11 Johan Dahlin * gio/gio.defs (write_async): document. Add default values to all flags parameters. 2008-04-11 Johan Dahlin * gio/gio.defs (read_async, read): document. Set io_priority default to G_PRIORITY_DEFAULT. 2008-04-11 Johan Dahlin * gio/gfile.override: * gio/ginputstream.override: * gio/goutputstream.override: * tests/test_gio.py: Move around the order of the callback argument to async methods, so it comes before priority and cancellable, which can have default values. 2008-04-08 Johan Dahlin * gio/Makefile.am: * gio/__init__.py: * gio/gappinfo.override: * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Implement GAppInfo constructor, add tests. 2008-04-08 Johan Dahlin * gio/Makefile.am: * gio/gfileinfo.override: * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Wrap GFileInfo.list_attributes(), add tests and set the default of GFileQueryInfoFlags args to G_FILE_QUERY_INFO_NONE. 2008-04-08 Johan Dahlin * gobject/option.py: Fix a typo * tests/test_option.py: Update the tests after the latest "refactoring". The testsuite should run fine now again, finally. 2008-04-08 Johan Dahlin * tests/test_gio.py (TestOutputStream.testWriteAsyncError): (TestInputStream._testCloseAsync.callback): Disable these tests until we can figure why they freeze during make check. 2008-04-08 Johan Dahlin * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Add bindings for content_type_guess. Based on patch by Thomas Leonard (#525113) 2008-04-08 Johan Dahlin * gio/gio-types.defs: * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Add basic support for GThemedIcon, based on patch by Thomas Leonard (#521883) 2008-04-08 Johan Dahlin * gobject/pygsource.c: * tests/test_source.py: Unbreak Source.prepare (#523075, Bryan Silverthorn) 2008-04-08 Johan Dahlin * gio/gfile.override (_wrap__install_file_meta): Fix a couple of silly typos and use gio.File instead of GFile in exceptions. 2008-04-07 Johan Dahlin * gio/__init__.py: * gio/gfile.override: * gio/gio-types.defs: * gio/gio.override: * tests/test_gio.py: Make gio.File() (calling on an interface) a factory for creating files. Add tests and a docstring. 2008-04-07 Johan Dahlin * gio/Makefile.am (pygiodir): Install gio in the right location 2008-04-06 Johan Dahlin * tests/test_gio.py: Add tests for recently added features. * gio/goutputstream.override: (_wrap_g_output_stream_write_asyn,_wrap_g_output_stream_close_async): * gio/ginputstream.override (async_result_callback_marshal_read): Add wrappers. * gio/gio.override: Ignore vararg functions and remove a couple of left overs in the generic marshaller. * gio/gio.defs: Remove g_file_output_stream_truncate, g_file_output_stream_tell and g_file_input_stream_tell * Makefile.am: * gio/gfileenumerator.override (_wrap_g_file_enumerator_tp_iter): Implement the python iteration protocol on GFileEnumerator * codegen/argtypes.py (arg): Add goffset to the int64 arg type 2008-04-02 Paul Pogonyshev * gobject/pygenum.c: bug #428732 (pyg_enum_new): Fix two wrong assertions about '__enum_values__' size and contents. (pyg_enum_reduce): New function (based on patch by Phil Dumont). (pyg_enum_methods): Hook it up. 2008-03-24 Paul Pogonyshev * gobject/pygenum.c (pyg_enum_richcompare): Don't return NULL after warning; more useful warning message (bug #519631). 2008-03-22 Johan Dahlin * gio/ginputstream.override: * gio/gio.override: * tests/test_gio.py: Make read_finish() return the string, remove the get_buffer method. This is more pythonic, as it mimics the normal read() behavior of python. Update the tests and use a separate marshaller for read. 2008-03-21 Johan Dahlin * gobject/__init__.py: * tests/test_properties.py: Allow gobject.property work with subclasses. Add tests. (#523352, Tomeu Vizoso) 2008-03-10 Johan Dahlin * configure.ac: Require gio and giounix 2.15.7. 2008-03-09 Johan Dahlin * gio/gio-types.defs: * gio/gio.defs: * tests/test_gio.py: Update to SVN of gio: g_file_contains_file -> g_file_has_prefix can_seek and can_truncate are now only on the GSeekable interface Add tests (#521207, Thomas Leonard) 2008-03-08 Johan Dahlin * gio/ginputstream.override: Pass in l instead of i to PyArg_ParseTupleAndKeywords when parsing a long. Fixes the build on 64-bit systems. (#521165, Thomas Leonard) 2008-03-02 Johan Dahlin * Makefile.am: Dist .m4 files. (#496011, Ed Catmur) 2008-03-02 Paul Pogonyshev * gobject/gobjectmodule.c (REGISTER_TYPE): Never override customly set 'tp_new' and 'tp_alloc'. 2008-02-01 Dan Winship * pygobject-2.0.pc.in (defsdir): Add this so other bindings can find gio.defs 2008-01-21 Johan Dahlin * gio/gio.override (async_result_callback_marshal): Don't assume the buffer is set, use Py_XINCREF instead of Py_INCREF. * gio/Makefile.am: * gio/ginputstream.override: * gio/goutputstream.override: * gio/gvolumemonitor.override: * gio/gfile.override: * tests/test_gio.py: Implement and test GFile.read_async. Use try/finally to always quit the mainloop, even if the test fail. Update source comment headers. 2008-01-20 Johan Dahlin * tests/test_gio.py (TestVolumeMonitor): New test * gio/Makefile.am: * gio/ginputstream.override: * gio/gio.override: * gio/giomodule.c: * gio/goutputstream.override: * gio/gvolumemonitor.override: * gio/unix.override: * gio/unixmodule.c: Split out overrides into more files. Fix up module description in comments 2008-01-20 Johan Dahlin * gio/gio.override (_wrap_g_simple_async_result_get_buffer): Add a new method, to fetch the buffer (_wrap_g_input_stream_read_async): Save a reference to the buffer. * tests/test_gio.py (TestInputStream.testReadAsync.callback): Check the content * tests/test_gio.py (TestInputStream.testReadAsyncError): New function to test error condition of async read. * gio/gio.override (async_result_callback_marshal): Grab a reference to callback/data. 2008-01-19 Johan Dahlin * gio/gio.override (_wrap_g_output_stream_write): Impl. * gio/gio.override: * gio/unix.defs: Add GUnixInputStream type and methods * tests/common.py: * tests/test_gio.py: Add GIO tests. * gio/gio.override (_wrap_g_app_info_get_all_for_type), (_wrap_g_app_info_get_all), (_wrap_g_drive_get_volumes): Implement. * gio/gio.override (async_result_callback_marshal): New marshaller for async results (_wrap_g_input_stream_read_async): Impl. * gio/gio-types.defs: Add SimpleAsyncRequest * gio/giomodule.c: Register enums/constants * gio/gio.override: Fix a silly bug so it possible to read files larger than 8192 bytes. * gio/gio.defs: Set null-ok for all cancelable as well. * gio/__init__.py: set gio.unix to None if it's not available * gio/gio.override: Implement InputStream.read efficiently without copying the strings, based on the standard libararys file.read() implementation. * gio/gio-types.defs (Cancellable): Add wrapper. * gio/gio.defs (replace): Do not require cancellable argument to be specified, default to NULL if not. * Makefile.am: * codegen/Makefile.am: * codegen/README.defs: * codegen/__init__.py: * codegen/argtypes.py: * codegen/code-coverage.py: * codegen/codegen.py: * codegen/createdefs.py: * codegen/definitions.py: * codegen/defsconvert.py: * codegen/defsgen.py: * codegen/defsparser.py: * codegen/docextract.py: * codegen/docextract_to_xml.py: * codegen/docgen.py: * codegen/h2def.py: * codegen/mergedefs.py: * codegen/missingdefs.py: * codegen/mkskel.py: * codegen/override.py: * codegen/pygtk-codegen-2.0.in: * codegen/reversewrapper.py: * codegen/scanvirtuals.py: * codegen/scmexpr.py: * configure.ac: * gio/Makefile.am: * gio/__init__.py: * gio/gio-types.defs: * gio/gio.defs: * gio/gio.override: * gio/giomodule.c: (init_gio): * gio/unix-types.defs: * gio/unix.defs: * gio/unix.override: * gio/unixmodule.c: (initunix): Import codegen from pygtk. Add initial gio and gio.unix bindings. 2008-01-11 Johan Dahlin * configure.ac: Don't link against libffi if we cannot find libffi on the system. (#496006, Ed Catmur) 2008-01-03 Johan Dahlin Reviewed by: Gustavo * configure.ac: * gobject/pygmainloop.c (pyg_signal_watch_prepare): Optinally use PySignal_SetWakeupFd to avoid having to do a timeout to find out if there are any pending signals from python. Fixes #481569 * configure.ac (CPPFLAGS): Include -Wall and -Werror when checking for PySignal_SetWakeupFd 2008-01-02 Sebastian Rittau * gobject/gobjectmodule.c * gobject/gobjectmodule.c (pyg_get_application_name) (pyg_get_prgname): Add wrappers for g_get_application_name and g_get_prgname. 2007-11-30 Rafael Villar Burke * docs/reference/pygobject.xml: Add props attribute 2007-11-24 Paolo Borelli * gobject/gobjectmodule.c (pyg_type_register): check for NULL before dereferencing. 2007-11-24 Paolo Borelli * gobject/gobjectmodule.c (pyg_type_register): do not use a potentially uninitialized variable. Bug #499334. 2007-11-12 Johan Dahlin * gobject/option.py (OptionParser.parse_args): Set the default value of old_args to 0, so we don't end up slicing with None. Fixes #496278 (Vincent Untz) 2007-11-06 Johan Dahlin * gobject/option.py (OptionParser.parse_args): Merge in values from all groups to the global option group. Slice up args so it doesn't return too much. * tests/test_option.py: Refactor to be unittesty, Add new tests to test what options returns. 2007-11-05 Johan Dahlin * gobject/pygobject.h: * gobject/gobjectmodule.c: Add pyg_option_group_new to the public API * configure.ac: Branch, bump version to 2.15.0. 2007-10-16 Damien Carbery reviewed by: Johan Dahlin. * pygobject-2.0-uninstalled.pc.in: uninstalled.pc file missing 'datadir' value. Fixes #486876. 2007-09-16 Gustavo J. A. M. Carneiro * configure.ac: Post-relase version bump. === 2.14.0 === 2007-09-16 Gustavo J. A. M. Carneiro * configure.ac: Bump version to 2.14.0. * NEWS: Update NEWS for next release. 2007-09-06 John Finlay * docs/xsl/fixxref.py.in: Remove DATADIR substitution since it now gets substituted as ${prefix}/share which doesn't work in a Python script. 2007-08-27 Johan Dahlin * gobject/propertyhelper.py (property.__metaclass__.__repr__): Avoid exporting the metaclass, just define it where it will be used. * gobject/__init__.py (GObjectMeta._install_properties): Refactor a bit to make sure that it is possible to use in subclasses, fixes #470718 (Marco Giusti) 2007-08-27 Marco Giusti reviewed by: Gustavo J. A. M. Carneiro * gobject/propertyhelper.py: * tests/test_properties.py: Bug 470230 – check for default value in boolean type is wrong. 2007-08-27 Gustavo J. A. M. Carneiro * tests/Makefile.am, * gobject/Makefile.am: Remove -D_XOPEN_SOURCE=600 -D__EXTENSIONS__, no longer needed. * configure.ac: Don't add -std=c9x CFLAG on Solaris. Fixes #339924 again. * gobject/pygtype.c (pyg_type_wrapper_repr): Typecast self->type to (unsigned long int) to fix a compilation warning. 2007-08-14 Ed Catmur reviewed by: Gustavo J. A. M. Carneiro * gobject/pygobject.c (pygobject_new_full, pygobject_clear), (pygobject_get_dict): Bug 466082 – pygobject_new_full not fully initialising PyGObject, chaos results. 2007-08-13 Gustavo J. A. M. Carneiro * tests/test_subtype.py (TestSubType.testGetDict): Add unit test exercising a bug when GObject.__dict__ is accessed directly. 2007-07-08 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pygobject_functions) (pyg_timeout_add_seconds): Wrap g_timeout_add_seconds, conditionally compiled if glib version >= 2.13.5. 2007-07-08 Johannes Hölzl reviewed by: Gustavo Carneiro * gobject/gobjectmodule.c (build_gerror, init_gobject): Work around the deprecation warning of BaseException.message in Python 2.6+ affecting GError exceptions. Fixes #342948. 2007-07-07 Gustavo J. A. M. Carneiro * configure.ac: Post-release version bump. === 2.13.2 === 2007-07-07 Gustavo J. A. M. Carneiro * NEWS: Update. 2007-07-07 Damien Carbery reviewed by: Gustavo Carneiro. * configure.ac: Bug 339924 – pygobject doesn't compile on opensolaris. 2007-04-30 Johannes Hölzl * gobject/gobjectmodule.c (init_gobjectmodule), * gobject/pygoptiongroup.c (arg_func), * gobject/option.py (OptionParser._parse_args, OptionGroup._to_goptiongroup), * tests/test_option.py: OptParse-Exceptions in GOption-callbacks are now convertet into an GError. GError from the GOptionGroup.run is convertet into an OptParse-Exception. Fixes #342948. 2007-07-06 Ed Catmur * gobject/pygtype.c (pyg_param_gvalue_from_pyobject), (pyg_param_gvalue_as_pyobject): Applied patch from Ed Catmur to support G_TYPE_VALUE boxed args/signals, and add a test, Fixes #351072 2007-07-06 Carlos Martin * tests/test_gtype.py: * tests/testhelpermodule.c: add test for #351072 2007-07-04 Murray Cumming * gobject/pygobject.c: (pygobject_switch_to_toggle_ref): * gobject/pygobject.h: Rename the private struct field to private_flags, because private is a C++ keyword, so this broke builds of some C++ applications, such as Glom. 2007-07-02 Sebastian Granjoux reviewed by: Johan Dahlin * gobject/gobjectmodule.c: (pyg_gerror_exception_check): * tests/test_gtype.py: * tests/testhelpermodule.c: (_wrap_test_gerror_exception): Fix a bug in pyg_error_exception_check, add a test, Fixes #449879 2007-06-17 Gustavo J. A. M. Carneiro * gobject/pygobject.h: Add a flags field to PyGObject; uses structure space formerly occupied by the now stale "GSList *closures" field. * gobject/pygobject.c (pygobject_switch_to_toggle_ref): Do nothing if the wrapper is already in toggle reference mode. Closes #447271. * tests/test_subtype.py: Test case for #447271. 2007-06-17 Sebastien Bacher * m4/python.m4: use python-config to get python includes (Closes #448173) 2007-06-16 Gustavo J. A. M. Carneiro * gobject/propertyhelper.py, * tests/test_properties.py: Support type=GObject or type=TYPE_OBJECT in the new properties API. 2007-06-06 Yevgen Muntyan OK'd by Johan * gobject/generate-constants.c: Return 0 from main(). * gobject/Makefile.am: use generate-constants$(EXEEXT) instead of generate-constants in the constants.py target rule. 2007-05-30 Yevgen Muntyan reviewed by: Gustavo Carneiro * autogen.sh: Allow running autogen.sh from outside $srcdir. 2007-05-09 Gustavo J. A. M. Carneiro * tests/Makefile.am (INCLUDES): Idem. * gobject/Makefile.am (INCLUDES): Add -D_XOPEN_SOURCE=600 and -D__EXTENSIONS__ to make it compile with c99 and Sun C compiler. Fixes #339924: gnome-python doesn't compile on opensolaris. 2007-05-02 Johan Dahlin * configure.ac: Post-release version bump. === 2.13.1 === 2007-05-02 Johan Dahlin * pygobject-2.0-uninstalled.pc.in: Add libdir. Fixes #435132 (Luca Ferretti) 2007-05-01 Johan Dahlin * gobject/propertyhelper.py: * tests/test_properties.py: Store property values in the descriptor per instance, add a test. * examples/properties.py: * gobject/Makefile.am: * gobject/__init__.py: * gobject/constants.py.in: * gobject/generate-constants.c: (main): * gobject/propertyhelper.py: * tests/Makefile.am: * tests/test_enum.py: * tests/test_interface.py: * tests/test_properties.py: Add a property helper, fixes #338098 2007-04-30 Gustavo J. A. M. Carneiro * tests/common.py (importModules): Import testhelper first so that g_thread_init is called before init_pygobject. * tests/testhelpermodule.c (inittesthelper): Call g_thread_init before init_pygobject. * tests/test_subtype.py (TestSubType.testDescriptor): Unit test for the bug below. * gobject/pygobject.c (pygobject_setattro): Account for the case when attribute setting doesn't actually create an instance dictionary, in which case pygobject_switch_to_toggle_ref would be called twice, thereby causing gobject error. Fixes #434659 2007-04-29 James Livingstone reviewed by: Johan Dahlin * gobject/pygtype.c: (pyg_value_from_pyobject): * tests/test_signal.py: Add a missing else to avoid throwing a TypeError. Includes a test written by Ed Catmur. Fixes #374653 2007-04-29 Johan Dahlin * gobject/pygtype.c: (pyg_value_array_from_pyobject): * tests/test_gtype.py: * tests/testhelpermodule.c: (_wrap_test_value_array): Treat None in a GValueArray as pointer/NULL, patch by Ed Catmur, fixes #352209. 2007-04-29 Loïc Minier reviewed by: Johan Dahlin * autogen.sh: Use dirname $0 instead of pwd to compute srcdir in autogen, fixes #409234 2007-04-29 Damien Carbery reviewed by: Johan Dahlin * tests/test-unknown.c: (test_interface_iface_method): Do not return in a void function, fixes #385127 2007-04-29 Johan Dahlin * gobject/pygflags.c: (pyg_flags_from_gtype): Fix leak, patch by Daniel Berrange. Fixes #428726 (Phil Dumont) 2007-04-29 Damien Carbery reviewed by: Johan Dahlin * configure.ac: * pygobject-2.0-uninstalled.pc.in: Add an uninstalled pkg-config file, fixes #385129 2007-04-29 Johan Dahlin * README: * configure.ac: * gobject/Makefile.am: * gobject/ffi-marshaller.c: (g_value_to_ffi_type), (g_value_from_ffi_type), (g_cclosure_marshal_generic_ffi): * gobject/ffi-marshaller.h: * gobject/gobjectmodule.c: (create_signal), (init_gobject): * pygobject-2.0.pc.in: * tests/test_signal.py: * tests/testhelpermodule.c: (test1_callback), (test1_callback_swapped), (test2_callback), (test3_callback), (test4_callback), (test_float_callback), (test_double_callback), (test_string_callback), (test_object_callback), (connectcallbacks), (_wrap_connectcallbacks), (inittesthelper): Add a generic CClosure marshaller based on ffi. This makes it possible to connect to signals on PyGObjects from C. libffi is now an optional dependency Fixes #353816 (Edward Hervey) 2007-04-23 Gustavo J. A. M. Carneiro * configure.ac: Post-release version bump. === 2.13.0 === 2007-04-23 Gustavo J. A. M. Carneiro * configure.ac: Bump version to 2.13.0. * tests/test_properties.py (TestProperties.testMulti): Unit test for get/set_properties. 2007-04-23 Gian Mario Tagliaretti * gobject/pygobject.c: Implemented pygobject_set_properties and pygobject_get_properties in order to set multiple properties using keyword arguments. Fixes 403212 * docs/reference/pygobject.xml: Docs for the above new methods. 2007-04-14 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c, gobject/pygobject.h: Add a new pyg_gerror_exception_check API. Fixes #425242. * gobject/gobjectmodule.c (pyg_set_application_name) (pyg_set_prgname): Add wrappers for g_set_application_name and g_set_prgname. Patch by Havoc Pennington. Fixes #415853. * gobject/pygobject.h: Bug #419379: Modernize init_pygobject: use static inline functions instead of macros. * gobject/gobjectmodule.c (init_gobject): * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_data_free, pygobject_data_new), (pygobject_get_inst_data, pyg_toggle_notify), (pygobject_switch_to_toggle_ref), (pygobject_register_wrapper_full, pygobject_register_wrapper), (pygobject_new_full, pygobject_unwatch_closure), (pygobject_watch_closure, pygobject_dealloc, pygobject_repr), (pygobject_traverse, pygobject_clear, pygobject_weak_ref), (pygobject_setattro, pygobject_weak_ref_traverse), (pygobject_weak_ref_notify, pygobject_weak_ref_clear), (pygobject_weak_ref_dealloc, pygobject_weak_ref_new), (pygobject_weak_ref_unref, pygobject_weak_ref_call): * gobject/pygobject.h: * gobject/pygtype.c (gclosure_from_pyfunc): * tests/test_subtype.py: Bug #320428: Break PyGObject<->GObject reference cycle (patch v7.1; thanks John Ehresman for the help with this patch). 2007-03-17 Gustavo J. A. M. Carneiro * gobject/pygobject.c (pygobject_emit): Fix %ld vs int warning. (pygobject_chain_from_overridden): Idem. 2007-03-06 Richard Hult * configure.ac: Fix the docs option so that it's possible to disable building the docs. 2007-03-03 Edward Hervey * gobject/pygobject.c: (set_property_from_pspec): Release the GIL when calling g_object_set_property, since setting a property might trigger some code that might come back in python land. Fixes #395048 2007-01-09 Gustavo J. A. M. Carneiro * configure.ac: Turn the option --disable-docs into --enable-docs. * docs/Makefile.am: Tread --enable-docs like --enable-gtk-doc in gtk+, i.e. do not ever build docs unless requested, but always install them if they are found already built. 2006-12-14 Kjartan Maraas * autogen.sh: Make this work with automake 1.10 too. 2006-11-18 Johan Dahlin * configure.ac: Post release version bump === 2.12.3 === 2006-11-18 Johan Dahlin * NEWS: Update * gobject/pygoptiongroup.c (pyg_option_group_dealloc): * tests/test_option.py (TestOption.testBadConstructor): Make sure an exception is raised when we pass in invalid arguments to the optiongroup constructor, add a test. #364576 (Laszlo Pandy) * gobject/pygobject.c (pygobject_register_class): set __module__ on gobject derived types, fixes #376099 (Osmo Salomaa) 2006-11-18 Yevgen Muntyan reviewed by: Johan Dahlin * gobject/gobjectmodule.c: (create_property): * gobject/pygparamspec.c: (pyg_param_spec_getattr): * tests/test_properties.py: Avoid truncating in pyg_param_spec_getattr, add test for all non-float numeric types. Fixes #353943 2006-11-18 Johan Dahlin * gobject/pygtype.c (gclosure_from_pyfunc): Use PyObject_Cmp instead of comparing function closure addresses, which makes it possible to use any callable and not just functions. Fixes #375589 (Dima) 2006-10-13 John Finlay * docs/Makefile.am (HTML_FILES): Remove html/pygobject-reference-copyright.html. Fixes #361906 (Marc-Andre Lureau) 2006-10-11 John Finlay * docs/reference/pygobject-introduction.xml: Remove Copyright and License section. * docs/reference/pygobject-ref.xml: Remove author info 2006-10-05 Cedric Gustin * dsextras.py (Template) (TemplateExtension): Add py_ssize_t_clean flag to be passed to codegen.SourceWriter. 2006-10-04 Cedric Gustin * Makefile.am: Add pygobject_postinstall.py to EXTRA_DIST. 2006-10-03 Johan Dahlin * configure.ac: Post release version bump === 2.12.2 === 2006-10-03 Johan Dahlin * NEWS: * configure.ac: 2.12.2 2006-10-03 Gustavo J. A. M. Carneiro * gobject/Makefile.am: * gobject/gobjectmodule.c: (add_signals), (add_properties), (pyg_signal_new), (pyg_object_new), (get_handler_priority), (pyg_io_add_watch), (pyg_spawn_async), (pyg_add_emission_hook), (pyg_remove_emission_hook), (pyg_filename_from_utf8), (_pyg_strv_to_gvalue): * gobject/pygiochannel.c: (py_io_channel_write_chars), (py_io_channel_write_lines): * gobject/pygobject-private.h: * gobject/pygobject.c: (PyGProps_length), (pygobject_init), (pygobject_connect), (pygobject_connect_after), (pygobject_connect_object), (pygobject_connect_object_after), (pygobject_disconnect), (pygobject_handler_is_connected), (pygobject_handler_block), (pygobject_handler_unblock), (pygobject_emit), (pygobject_chain_from_overridden): * gobject/pygoptioncontext.c: (pyg_option_context_parse): * gobject/pygtype.c: (pyg_value_from_pyobject): Python 2.5 and 64 bits fixes (Py_ssize_t), closes bug #338487. * gobject/pygenum.c (pyg_enum_repr): Const warning fix. 2006-09-29 Johan Dahlin * pygtk.py: LGPL, not GPL header 2006-09-24 Gustavo J. A. M. Carneiro * gobject/pygobject.h (init_pygobject_check): Add parentheses "around && within ||" to please gcc. 2006-09-21 Cedric Gustin * dsextras.py: Catch ImportError exception when codegen is not available: disable Template and TemplateExtension, redirect the user to the pygtk installer and raise a NameError exception. check_date has also been rewritten and now uses distutils.dep_util.newer_group(). defs files can also be built using createdefs by passing tuples as keyword argument to Template (see for example the gdk and gtk templates in setup.py). * setup.py: Changed the way the VERSION macro is defined on win32. Also install the html reference documentation, the xsl files and fixxref. * pygobject_postinstall.py: Set the value of DATADIR in fixxref.py. Add functions to install shortcuts in the Start menu to the reference manual (currently disabled: see bug #353849). 2006-09-16 Gustavo J. A. M. Carneiro * tests/test_signal.py (TestEmissionHook.testCallbackReturnFalse) (TestEmissionHook.testCallbackReturnTrue) (TestEmissionHook.testCallbackReturnTrueButRemove): Add a few more emission hook tests. * gobject/gobjectmodule.c (pyg_add_emission_hook): One too many DECREF on 'extra_args'. 2006-09-12 John Ehresman * gobject/pygobject.h (init_pygobject_check): Declare variables at start of code block 2006-09-06 Johan Dahlin * gobject/pygmainloop.c (pyg_signal_watch_prepare): Increase the timeout to 1000ms instead of 100. === 2.12.1 === 2006-09-04 Johan Dahlin * gobject/pygobject.h (_PYGOBJECT_H_): Corrected version check, (Sebastian Dröge, #354364) * configure.ac: Post release version bump === 2.12.0 === 2006-09-04 Johan Dahlin * NEWS: * configure.ac: 2.12.0 2006-08-28 Johan Dahlin * docs/Makefile.am: Install html files regardless even when passing in --disable-docs, fixes #353159 (Matthias Clasen) 2006-08-27 Gustavo J. A. M. Carneiro * configure.ac: Post-release version bump. === 2.11.4 === 2006-08-27 Gustavo J. A. M. Carneiro * NEWS: Update. * gobject/gobjectmodule.c (pyg_type_register): Correct a bug in the code that checks if parent already implements an interface or not. * tests/test-unknown.c (test_interface_base_init), (test_interface_get_type): Add a property to the interface, for better testing. (test_unknown_get_property), (test_unknown_set_property, test_unknown_class_init): Add a property to the class as required by the interface. * tests/test_interface.py: More thorough interface testing, with properties and test both the case of implementing an interface from scratch, and re-implementing and interface that a parent already implements. 2006-08-27 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pygobject__g_instance_init): If necessary, attach the GObject to the PyGObject here. (pygobject_constructv): Cope with the fact that wrapper->obj may have already been set due to the change above. * tests/test_signal.py: Add test case fixed by the changes above, basically calling self.emit() inside do_set_property called implicitly by the constructor due to a CONSTRUCT property. Fixes bug 353039: "Failure in signal emission during do_set_property invoked from constructor". 2006-08-26 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Fix type registration once more to account for all corner cases. This time we register interfaces in two stages: first, before properties and signals are registered, we register the interfaces that are already implemented in the parent type and are being overridden; second, after registration of properties and signals, we register the remaining interfaces. 2006-08-21 Johan Dahlin * docs/Makefile.am (EXTRA_DIST): Remove build_stamp, include generated .html in the distributed tarball. Remove builddate.xml, reference directory and fixxref.py dependencies to avoid regenerating the tarball when it's not needed. * configure.ac: Post release version bump === 2.11.3 === 2006-08-21 Johan Dahlin * NEWS: Update * Makefile.am: * docs/Makefile.am: Always install the xsl files & css files, regardless if the documentation was actually built or not. Also clean it up considerably. 2006-08-17 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Move the interface registration code up, to run before properties and signals registration, because glib doesn't allow us to add interfaces after the first call to g_class_ref. 2006-08-16 John Finlay * docs/reference/pygobject-functions.xml: Update docs for gobject functions. 2006-08-15 Murray Cumming * gobject/pygobject-private.h: * gobject/pygobject.h: Replace uses of typename with type_name, because that is a reserved C++ keyword. This was breaking compilation of Glom due its use in the new type_register_custom function pointer in pygobject.h. 2006-08-12 John Finlay * pygobject-2.0.pc.in: Add reference to installed pygobject docs * docs/Makefile.am: Add install of style.css * docs/xsl/html.xsl: Define stylesheet as style.css * docs/style.css: Add. 2006-08-10 John Finlay * docs/reference/entities.docbook.in: * docs/reference/pygobject-ref.xml: * docs/Makefile.am: * configure.ac: Use builddate.xml for the builddate entity and have builddate.xml be updated when the docs are built not during configure time. 2006-08-08 Johan Dahlin * configure.ac: Post release version bump. === 2.11.2 === 2006-08-08 Johan Dahlin * NEWS: Update 2006-08-07 Johan Dahlin * docs/Makefile.am ($(HTML_DATA)): Fix parallel build (#350225, Ed Catmur) 2006-08-06 Johan Dahlin * m4/as-expand.m4: New file to workaround automake silliness * docs/xsl/fixxref.py.in: New script * docs/Makefile.am (XSLFILES): Add fixxref.py script, moved in from PyGTK. * docs/xsl/html.xsl: Do not use shade.verbatim, set the background color and border as a normal html tag to avoid an external stylesheet. 2006-08-04 Johan Dahlin * configure.ac: Post release version bump === 2.11.1 === 2006-08-04 Johan Dahlin * NEWS: Update * README: Update, some s/PyGTK/PyGObject/ * configure.ac: * docs/Makefile.am: * docs/reference/.cvsignore: * docs/reference/entities.docbook.in: * docs/reference/pygobject-ref.xml: Clean up the build date/version mess I created. Now it's created during configure time and properly included in the docbook files. Also make sure distcheck passes 2006-08-04 Gustavo J. A. M. Carneiro * configure.in: Add hack to disable libtool checking for g++ and g77 (copied from libglade). 2006-07-29 John Finlay * gobject/pygobject.h (pyg_param_gvalue_from_pyobject): Fix define to point to the correct function pointer field. 2006-07-29 Gustavo J. A. M. Carneiro * gobject/pygflags.c (pyg_flags_add): idem. * gobject/pygenum.c (pyg_enum_add): Give a more explicit error message when the gtype is not an enum. 2006-07-25 Johan Dahlin * gobject/pygobject.h (init_pygobject_check): Add a macro to easily check the installed pygobject version. * gobject/pygflags.c (pyg_flags_add) * gobject/pygenum.c (pyg_enum_add): Duplicate the string before sending it to python. Fixes GCC warnings. 2006-07-24 John Finlay * gobject/pygflags.c (pyg_flags_get_first_value_name) (pyg_flags_get_first_value_nick): Avoid segfault when g_flags_get_first_value returns NULL. 2006-07-20 John Finlay * docs/Makefile.am: Make version.xml dependent on config.h Make builddate.xml dependent on REFERENCE_DEPS. Add builddate.xml to build_stamp and pdf dependencies. Add pdf files to cleanup. 2006-07-20 Johan Dahlin * configure.ac: * docs/Makefile.am: * docs/reference/.cvsignore: * docs/reference/version.xml.in: Generate builddate.xml and version.xml at build time instead on configure time, add proper dependencies. 2006-07-19 John Finlay * docs/Makefile.am: Use more portable date generator. * docs/xsl/ref-html-style.xsl: Add book to list of indexed items. * docs/xsl/html.xsl: Output xref links for unknown links. * docs/xsl/ref-html-style.xsl: Include refsect1 and refsect2 in indexed items but only if they have ids. * configure.ac (AC_CONFIG_FILES) : Add docs/reference/version.xml * docs/reference/pygobject-ref.xml: Add pygobject-introduction.xml and version and builddate entities. Remove commented out items. * docs/Makefile.am: Add reference/pygobject-introduction.xml and reference/version.xml.in 2006-07-18 Johan Dahlin * docs/Makefile.am (HTMLdir): Install book in $datadir/gtk-doc/html 2006-07-13 Johan Dahlin * gobject/gobjectmodule.c: (pyg_type_from_name), (get_type_name_for_class): * gobject/pygobject-private.h: * gobject/pygobject.c: (pygobject_new_with_interfaces), (pygobject_lookup_class), (pygobject_emit): * gobject/pygobject.h: * gobject/pygtype.c: (_wrap_g_type_from_name), (pyg_type_from_object), (pyg_type_register_custom_callback), (pyg_type_get_custom), (_pyg_type_from_name): Add infrastructure for lazy type registration, fixes #346947 2006-07-13 Gustavo J. A. M. Carneiro * m4/python.m4: Properly quote AM_CHECK_PYMOD definition. * gobject/pygoptioncontext.c (pyg_option_context_parse): Fix mem leak. 2006-07-12 Johan Dahlin * Makefile.am: * configure.ac: * docs/.cvsignore: * docs/Makefile.am: * docs/common.xsl: * docs/devhelp.xsl: * docs/html.xsl: * docs/pdf-style.xsl: * docs/pdf.xsl: * docs/ref-html-style.xsl: * docs/reference/.cvsignore: * docs/reference/pygobject-classes.xml: * docs/reference/pygobject-constants.xml: * docs/reference/pygobject-functions.xml: * docs/reference/pygobject-gboxed.xml: * docs/reference/pygobject-ginterface.xml: * docs/reference/pygobject-gpointer.xml: * docs/reference/pygobject-maincontext.xml: * docs/reference/pygobject-mainloop.xml: * docs/reference/pygobject-ref.xml: * docs/reference/pygobject.xml: Import GObject part of John Finlay's PyGTK Reference Manual, copy over infrastructure from the pygtk-web module. 2006-07-12 Gustavo J. A. M. Carneiro * configure.ac: Post-release version bump to 2.11.1. === PyGObject 2.11.0 === 2006-07-09 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Make interface_data point to the python type before adding the interface to the new type. This should fix interface implementation (actually I thought such code had already been added earlier but can't find it now and it is obviously needed...) (pyg_type_register): move the code that needs g_type_class_ref until after interface registration (more code that I already wrote in the past but got lost). 2006-07-05 John Finlay * gobject/pygiochannel.c (py_io_channel_init): Fix message typo. 2006-06-28 Cedric Gustin * dsextras.py (InstallData): Set datarootdir in .pc file. * pygobject_postinstall.py (replace_prefix): Do not parse pygtk-codegen-2.0 as it is part of pygtk. * setup.py: Create gobject extension as gobject._gobject. Add pygoptioncontext.c and pygoptiongroup.c to the list of source files. Add option.py to the module files. Changed name of distutils package from pygtk to pygobject. 2006-06-24 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_filename_from_utf8): Wrap g_filename_from_utf8. * tests/test_signal.py (TestClosures.testGString): Add unit test for signals using the type TYPE_GSTRING. * gobject/pygtype.c (pyg_value_as_pyobject) (pyg_value_from_pyobject): Implement conversion code for the type G_TYPE_GSTRING. * gobject/gobjectmodule.c (pyg_filename_display_basename) (pyg_filename_display_name): Add bindings for g_filename_display_basename and g_filename_display_name. (init_gobject): Add a TYPE_GSTRING definition. * gobject/pygobject.h, * gobject/pygobject-private.h: Make pyg_constant_strip_prefix receive and return const gchar*, to indicate it does not change the string. Unfortunately since PyModule_AddIntConst is broken in python < 2.5 this introduces const warnings elsewhere :-( * gobject/gobjectmodule.c (pyg_flags_add_constants) (pyg_enum_add_constants): Fix const warnings. 2006-06-23 John Finlay * gobject/gobjectmodule.c (pyg_object_class_list_properties) (pyg_signal_list_ids, pyg_signal_lookup, pyg_signal_query): Add support for retrieving signal and propertie info from interface types. 2006-06-04 Johan Dahlin * gobject/gobjectmodule.c (pyg_spawn_async) (pyg_signal_new): Fix two leaks in error cases, found by Coverity. 2006-05-28 Gustavo J. A. M. Carneiro * tests/test_subtype.py: Uncomment Johan's "subsubtype" test case. * gobject/gobjectmodule.c (pygobject__g_instance_init): Pass the g_class to pygobject_new_full, because during the instance init function instances are temporarily assigned the parent's GType. * gobject/pygobject-private.h, * gobject/pygobject.c (pygobject_new_full): Make pygobject_new_full accept an optional g_class parameter; If present, the GType is extracted from the class instead of from the instance. 2006-05-20 Yevgen Muntyan reviewed by: Gustavo Carneiro * gobject/pygobject.c (pygobject_init, pygobject_get_property), (pygobject_set_property): Bug 341174: Be more specific in set/get_property error messages. 2006-05-07 Yevgen Muntyan reviewed by: Gustavo Carneiro * gobject/gobjectmodule.c (_log_func, add_warning_redirection), (remove_handler, disable_warning_redirections, init_gobject): * gobject/pygobject.h: Add new pyg_add_warning_redirection and pyg_disable_warning_redirections APIs (bug #323786 again). 2006-05-07 Johan Dahlin * Makefile.am (CLEANFILES): Remove pygtk.py, it's not auto-generated any longer. Thanks to Kjartan for noticing. 2006-05-07 Gustavo J. A. M. Carneiro * gobject/pygoptioncontext.c: s/sizeof(PyGMainContext)/sizeof(PyGOptionContext)/ (copy-paste error). 2006-05-01 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_pid_close): Add a close() method to the GPid wrapper. * gobject/gobjectmodule.c (pyg_pid_free, pyg_pid_new), (pyg_spawn_async, init_gobject): Wrap GPid in an object whose destructor calls g_spawn_close_pid. Fixes #340160. 2006-04-29 Johannes Hölzl reviewed by: Johan Dahlin * examples/Makefile.am: * examples/option.py: * gobject/Makefile.am: * gobject/gobjectmodule.c: (init_gobject): * gobject/option.py: * gobject/pygobject-private.h: * gobject/pygoptioncontext.c: (pyg_option_context_init), (pyg_option_context_dealloc), (pyg_option_context_parse), (pyg_option_context_set_help_enabled), (pyg_option_context_get_help_enabled), (pyg_option_context_set_ignore_unknown_options), (pyg_option_context_get_ignore_unknown_options), (pyg_option_context_set_main_group), (pyg_option_context_get_main_group), (pyg_option_context_add_group), (pyg_option_context_compare), (pyg_option_context_new): * gobject/pygoptiongroup.c: (check_if_owned), (destroy_g_group), (pyg_option_group_init), (pyg_option_group_dealloc), (arg_func), (pyg_option_group_add_entries), (pyg_option_group_set_translation_domain), (pyg_option_group_compare), (pyg_option_group_transfer_group), (pyg_option_group_new): * tests/test_option.py: Add support for GOption, fixes #163645 2006-04-29 Johan Dahlin * gobject/pygtype.c (gclosure_from_pyfunc): * gobject/pygobject.c (pygobject_disconnect_by_func) (pygobject_handler_block_by_func) (pygobject_handler_unblock_by_func): * tests/test_signal.py (TestEmissionHook._callback): Fix #154845, add tests and a private method. 2006-04-23 John Ehresman reviewed by: Gustavo * Makefile.am: * pygtk.py: * pygtk.py.in: Bug 338945: Make pygtk.py relocatable 2006-04-18 John Ehresman * dsextras.py: Add compiler / linker flags from pkgconfig-2.0.pc by default, with an override mechanism. Filter out -lc & -lm if compiling with msvc. * setup.py: Change C extension name to _gobject and don't use the pkgconfig-2.0.pc when compiling 2006-04-15 Gustavo J. A. M. Carneiro * gobject/__init__.py (_PyGObject_API): Copy _PyGObject_API from gobject._gobject into gobject in order to preserve binary compatibility with 3rd party modules. * gobject/pygobject.h (init_pygobject): Import gobject, gobject._gobject. * gobject/Makefile.am: Fix pygobject installation dir: install both _gobject.la and __init__.py into $(pyexecdir)/gtk-2.0/gobject. 2006-04-11 Johan Dahlin * gobject/gobjectmodule.c (init_gobject): * gobject/__init__.py: Move over almost all GType constants from C to Python. 2006-04-11 Gustavo J. A. M. Carneiro * gobject/__init__.py: * gobject/gobjectmodule.c (_wrap_pyg_type_register), (pyg__install_metaclass, init_gobject): GObjectMeta now moved to python-land (__init__.py). * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_register_class): PyGObject_MetaType is now a pointer, not structure. * gobject/gobjectmodule.c (_wrap_pyg_type_register): Add optional type name parameter. * tests/common.py (importModule): Include original exception string in the raised SystemExit. 2006-04-11 Johan Dahlin * gobject/.cvsignore: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c: (init_gobject): * gobject/pygobject.h: * tests/Makefile.am: * tests/common.py: Turn gobject into a package; move _gobject to gobject._gobject and add gobject/__init__.py. Update macros and testsuite. 2006-04-11 Johan Dahlin * configure.ac: Post release version bump === PyGObject 2.10.1 === 2006-04-11 Johan Dahlin * NEWS: Update 2006-04-11 Andy Wingo reviewed by: Johan Dahlin * gobject/gobjectmodule.c (create_property): Parse unsigned int64 constraints in param spec declaration using the "K" ParseTuple format unit, not L -- allows the full range of the datatype to be parsed. K format unit added in python 2.3. 2006-04-01 Gustavo J. A. M. Carneiro * tests/test_properties.py: Add test for #335854. * pygtk.py.in (require): For version == '2.0', use a hardcoded pygtk path, recorded during build. * gobject/gobjectmodule.c (_pyg_strv_to_gvalue): Don't allow arbitrary sequences, only tuple or list, since a string is a sequence too. (pyg_object_new): Add a bit more detail to the exception string. 2006-01-16 Johan Dahlin * Makefile.am: Include dsextras.py in the dist and install it. 2006-03-19 Gustavo J. A. M. Carneiro * gobject/pygobject.c (pygobject_new_with_interfaces): Remove comment "It will currently not filter out interfaces already implemented by it parents.", since it is no longer true since 2006-01-13. === PyGObject 2.10.0 === 2006-01-16 Johan Dahlin * NEWS: Update 2006-03-09 Michael Smith reviewed by: Johan Dahlin * gobject/pygenum.c: (pyg_enum_new), (pyg_enum_from_gtype), (pyg_enum_add): * gobject/pygflags.c: (pyg_flags_new), (pyg_flags_from_gtype), (pyg_flags_add): Plug a couple of leaks, fixes #334027. 2006-01-19 Johan Dahlin * configure.ac (export_dynamic): * Makefile.am (egg): Add a make egg target 2006-01-16 Johan Dahlin * configure.ac: Post release version bump === PyGObject 2.9.1 === 2006-01-16 Johan Dahlin * NEWS: Update 2006-01-15 Christopher Aillon * gobject/gobjectmodule.c (pyg_strv_to_gvalue): Don't call g_value_init since the other *_to_gvalue methods expect an already inited GValue 2006-01-14 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (iowatch_marshal): Warn if io callback returns None: almost always this is an error. 2006-01-13 Gustavo J. A. M. Carneiro * gobject/pygobject.c (pygobject_register_class): Change strategy a bit: don't ignore bases; use but augment it with missing bases extracted in runtime. * gobject/pygobject.c (pygobject_register_class): Don't use the passed in 'bases' parameter; instead find out in runtime the bases for any given gtype. (pyg_type_get_bases, pygobject_new_with_interfaces): Refactor code that dynamically discovers bases into a separate function; Override tp_dealloc, tp_alloc, tp_free, tp_traverse, and tp_clear, inherit them again from the parent type, since type_new inside Python core sets them to hardcoded functions subtype_xxx. Also call py_parent_type->ob_type, instead of fixed &PyType_Type. (pygobject_clear): Change a g_message to g_warning. 2006-01-13 Johan Dahlin * gobject/gobjectmodule.c: (pyg_io_add_watch), (marshal_emission_hook), (pyg_add_emission_hook), (pyg_remove_emission_hook): * gobject/pygobject.c: * tests/test_signal.py: Add add/remove_emission_hook and tests. Fixes #325977 2006-01-11 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (_pyg_signal_accumulator), (create_signal, pyg_signal_accumulator_true_handled), (initgobject): Bug 155380 -- Add support for signal accumulators. * tests/runtests.py: Add 'test_enum', 'test_conversion' to SKIP_FILES, since they depend on pygtk modules so don't work anymore. This should be eventually fixed, though. * tests/test_signal.py: Test signal accumulators. * gobject/pygtype.c (object_doc_descr_get): Reorder properties/signals documentation more nicely: signals + properties from each type are presented, with types ranging from the leaf types to the base types. * configure.ac: Branch, bump version to 2.9.1. === PyGObject 2.8.0 === 2006-01-09 Johan Dahlin * MANIFEST.in: * Makefile.am: * tests/Makefile.am: Make dist/distcheck work again 2006-01-09 Johan Dahlin * setup.py: Add distutils support * dsextras.py (get_m4_define): Check for configure.ac aswell. * .cvsignore: * AUTHORS: * COPYING: * INSTALL: * Makefile.am: * PKG-INFO.in: * README: * autogen.sh: * configure.ac: * examples/.cvsignore: * examples/Makefile.am: * gobject/gobjectmodule.c: (initgobject): * m4/jhflags.m4: * m4/python.m4: * pygobject-2.0.pc.in: * tests/Makefile.am: * tests/common.py: * tests/leak.glade: * tests/runtests.py: * tests/test_actiongroup.py: * tests/test_dialog.py: * tests/test_gdk.py: * tests/test_gdkevent.py: * tests/test_glade.py: * tests/test_gtype.py: * tests/test_liststore.py: * tests/test_radiobutton.py: * tests/test_signal.py: * tests/test_subtype.py: * tests/test_textview.py: * tests/test_thread.py: * tests/testhelpermodule.c: (test_type_get_type), (_wrap_test_g_object_new): * tests/testmodule.py: Split out PyGObject from PyGTK.