1 === ChangeLog discontinued ===
3 2009-05-04 Siavash Safi <siavash@siavashs.org>
5 Bug 579275 – Patch which removes dll api in headers and adds
8 * codegen/h2def.py: Add -n --namespace option and the code to remove
9 dll API in headers, Added documentation
11 2009-04-17 Paul Pogonyshev <pogonyshev@gmx.net>
13 Bug 568499 – CellRendererPixbuf stock-size property has wrong type
15 * gobject/pygtype.c (pyg_enum_get_value): Also accept long
18 2009-04-15 Götz Waschk <waschk@mandriva.org>
20 Bug 550231 – missing dep on libffi in pygobject-2.0.pc
22 * configure.ac: Define `LIBFFI_PC' subst.
24 * pygobject-2.0.pc.in:
25 * pygobject-2.0-uninstalled.pc.in: Use it.
27 2009-04-15 Paul Pogonyshev <pogonyshev@gmx.net>
29 Bug 555613 – gio.VolumeMonitor segfaults
31 * gio/gvolumemonitor.override (_wrap_g_volume_monitor_tp_new): New
32 function, return the singleton object.
34 2009-04-14 James Westby <jw+debian@jameswestby.net>
36 Bug 573753 – DeprecationWarning under python 2.6
38 * codegen/definitions.py (ReturnType.__init__): Don't pass
39 'type_name' argument to super __init__.
41 2009-04-14 Krzesimir Nowak <krnowak@svn.gnome.org>
43 Bug 576566 – several scripts from codegen directory are not
46 * codegen/Makefile.am (codegen_PYTHON): List several missing
49 2009-04-14 Gian Mario Tagliaretti <gianmt@gnome.org>
51 * gio/gfile.override: (_wrap_g_file_copy_async) change argument order
52 to keep it consistent with the other methods.
54 2009-04-13 Paul Pogonyshev <pogonyshev@gmx.net>
56 Bug 578870 – memory leak in gio.File.copy_async
58 * gio/gio.override (PyGIONotify): Add 'slaves' field.
59 (pygio_notify_new_slave): New function.
60 (pygio_notify_reference_callback): Recurse for slaves, if any.
61 (pygio_notify_free): Likewise.
63 * gio/gfile.override (file_progress_callback_marshal): Use new
64 chaining functionality to avoid leaking the second PyGIONotify
65 structure. Rename 'callback' as 'progress_callback' for clarity.
67 2009-04-12 Gian Mario Tagliaretti <gianmt@gnome.org>
69 * gio/gio.defs: (g_file_monitor) should accept None
70 for cancellable and set the default flag to G_FILE_MONITOR_NONE.
72 2009-04-09 Jonathan Matthew <jonathan@d14n.org>
74 Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling
77 * gio/gio.override: Ensure we're holding the GIL before potentially
78 destroying the callback and data.
80 2009-04-05 Gian Mario Tagliaretti <gianmt@gnome.org>
83 (_wrap_g_file_set_display_name_async) Wrap new GFile method.
85 * tests/test_gio.py: Test the above methods.
87 2009-04-05 Tristan Hill <stan@saticed.me.uk>
89 reviewed by: Gustavo J. A. M. Carneiro.
91 * glib/pygoptioncontext.c (pyg_option_get_context): Add a
92 semi-private method to return the option context C object from an
93 option context wrapper. Used in gnome-python for fixing Bug
96 2009-04-05 Gustavo J. A. M. Carneiro <gjc@gnome.org>
98 * gobject/pygtype.c (pyg_value_from_pyobject): Bug 577999 –
99 converting a negative long Python value to a GUINT64 GValue
100 doesn't error out as it should.
102 2009-04-04 Gian Mario Tagliaretti <gianmt@gnome.org>
104 * gio/gfile.override:
105 (_wrap_g_file_set_attributes_async)
106 (_wrap_g_file_set_attributes_finish) Wrap new GFile methods.
108 * tests/test_gio.py: Test the above methods.
110 2009-03-31 Gian Mario Tagliaretti <gianmt@gnome.org>
112 * gio/gfile.override:
113 (_wrap_g_file_query_filesystem_info_async) Fix a typo.
115 2009-03-31 Gian Mario Tagliaretti <gianmt@gnome.org>
117 * gio/gfile.override:
118 (_wrap_g_file_query_filesystem_info_async) Wrap new GFile method.
120 2009-03-31 Gian Mario Tagliaretti <gianmt@gnome.org>
122 * gio/gio.defs: Add missing g_file_query_filesystem_info_async and
123 g_file_query_filesystem_info_finish
125 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
127 * gio/gfile.override: (_wrap_g_file_mount_mountable)
128 Swap kwargs names to reflect the code.
130 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
132 * gio/gfile.override: (_wrap_g_file_mount_enclosing_volume)
133 Swap kwargs names to reflect the code.
135 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
137 * gio/gfile.override:
138 (_wrap_g_file_find_enclosing_mount_async) Wrap new GFile method.
140 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
142 * gio/gfile.override:
143 (_wrap_g_file_eject_mountable) Wrap new GFile method.
145 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
147 * gio/gfile.override: (_wrap_g_file_copy) revert previous commit.
149 2009-03-30 Gian Mario Tagliaretti <gianmt@gnome.org>
151 * gio/gfile.override: (_wrap_g_file_copy) callback cannot be optional.
153 2009-03-29 Gian Mario Tagliaretti <gianmt@gnome.org>
155 * gio/gvolume.override: (_wrap_g_volume_mount) should accept None
158 2009-03-29 Gian Mario Tagliaretti <gianmt@gnome.org>
160 * gio/gvolume.override: Swap kwargs names to reflect the code.
162 2009-03-29 Tobias Mueller <tobiasmue@gnome.org>
167 * gobject/pygparamspec.h:
168 * gobject/pygpointer.c:
169 * gobject/ffi-marshaller.h:
171 * gobject/__init__.py:
172 * gobject/pygpointer.h:
174 * gobject/pygflags.c:
175 * gobject/pyginterface.c:
176 * gobject/pygflags.h:
177 * gobject/pygboxed.c:
178 * gobject/gobjectmodule.c:
180 * gobject/pyginterface.h:
181 * gobject/pygboxed.h:
182 * gobject/pygobject.c:
183 * gobject/constants.py.in:
185 * gobject/propertyhelper.py:
186 * gobject/pygparamspec.c:
187 * gobject/ffi-marshaller.c:
188 * glib/pygmainloop.c:
189 * glib/pygoptioncontext.h:
190 * glib/pygmainloop.h:
191 * glib/pyglib-private.h:
193 * glib/pygoptiongroup.c:
195 * glib/pygmaincontext.c:
196 * glib/pygoptiongroup.h:
198 * glib/pygmaincontext.h:
202 * glib/pygiochannel.h:
206 * glib/pyglib-python-compat.h:
207 * glib/pygoptioncontext.c:
208 * gio/gfileinfo.override:
209 * gio/gappinfo.override:
211 * gio/gfileattribute.override:
212 * gio/gvolume.override:
214 * gio/ginputstream.override:
215 * gio/goutputstream.override:
217 * gio/gfile.override:
218 * gio/gvolumemonitor.override:
219 * gio/gapplaunchcontext.override:
221 * gio/gfileenumerator.override:
225 * gio/gicon.override:
226 Update the address of the FSF, by replacing old bits of the address
230 2009-03-29 Gian Mario Tagliaretti <gianmt@gnome.org>
232 * gio/gio.defs: Add g_volume_should_automount
234 2009-03-28 Gian Mario Tagliaretti <gianmt@gnome.org>
236 * gio/pygio-utils.[hc]: (strv_to_pylist) (pylist_to_strv) add a couple
237 of convinence functions to convert from/to a python list and an array
241 * gio/gdrive.override:
242 * gio/gio.override: Strip GDrive overrides and
243 wrap g_drive_enumerate_identifiers
246 * gio/gvolume.override: wrap g_volume_enumerate_identifiers
248 * gio/gio.defs: add missing g_drive_get_identifier and
249 g_drive_enumerate_identifiers
251 2009-03-22 Mark Lee <marklee@svn.gnome.org>
253 Bug 559001 – Allow setting pytype wrapper class
255 initial patch by: John Ehresman <jpe@wingware.com>
257 * gobject/pygtype.c (_wrap_g_type_wrapper__set_pytype): New function.
259 * tests/test_gtype.py (GTypeTest.assertPyType),
260 (GTypeTest.setInvalidPyType), (GTypeTest.testPyType),
261 (GTypeTest.testInvalidPyType): Two new testcases to test the above,
262 with accompanying helper methods.
264 2009-03-22 Gian Mario Tagliaretti <gianmt@gnome.org>
266 * gio/gio.defs: Add g_file_enumerator_get_container, new in 2.18
268 2009-03-22 Gian Mario Tagliaretti <gianmt@gnome.org>
270 * gio/gfileenumerator.override (_wrap_g_file_enumerator_close_async)
273 * tests/test_gio.py (TestGFileEnumerator.testCloseFilesAsync):
276 2009-03-09 Gian Mario Tagliaretti <gianmt@gnome.org>
278 * docs/reference/Changelog: Create a dedicated Changelog for the docs
279 and move the latest entries in there.
281 2009-02-20 James Henstridge <james@jamesh.id.au>
283 * ltihooks.py: pull in changes from pygtk (updating license header
286 2009-02-18 Andre Klapper <a9016009@gmx.de>
288 * gobject/pygobject.h:
289 Change comment to avoid false positives when grep'ing for
290 deprecated gtk functions
292 2009-02-17 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
294 * gio/gfile.override, gio/gio.defs, gio/gio.override: Bug 556250
295 again. I screwed up and gave misinformation about how to fix it.
296 It must be pyg_begin/end_allow_threads, pyg_block/unblock_threads
297 is only to be used for async callbacks.
299 2009-02-10 Gian Mario Tagliaretti <gianmt@gnome.org>
301 Bug 556250 – non-async functions don't release python locks before
302 calling blocking C functions
305 * gio/gfile.override:
306 * gio/gio.defs: release the thread lock.
308 2009-02-10 Gian Mario Tagliaretti <gianmt@gnome.org>
311 * gio/gio-types.defs:
312 * gio/unix.defs: Add 2.18 gio API.
314 2009-02-08 Gian Mario Tagliaretti <gianmt@gnome.org>
316 Bug 568427 – "gio.Error: Too many open files" without too many
319 * gobject/pygtype.c (_wrap_g_type_wrapper__get_name):
320 * gobject/gobjectmodule.c (get_type_name_for_class):
321 * gobject/pygobject.c (build_parameter_list), (PyGProps_length):
322 * gio/gfileinfo.override (_wrap_g_file_info_list_attributes):
323 * gio/gio.override (_wrap_g_content_type_guess):
324 * gio/gfile.override (_wrap__file_init), (_wrap_g_file_load_contents)
325 (_wrap_g_file_load_contents_finish): Remove some memory leaks.
327 * gio/gio.defs: add (caller-owns-return #t) all over the place to
328 prevent memory leaks.
330 patch contributed by Paul Pogonyshev, Paolo Borelli and
331 Gian Mario Tagliaretti.
333 2009-02-06 Murray Cumming <murrayc@murrayc.com>
335 * codegen/h2def.py DefsWriter::write_enum_defs(): Prevent an exception
336 when the prefix is empty.
338 2009-01-29 Paul Pogonyshev <pogonyshev@gmx.net>
340 Bug 569350 – Inconsistent use of tabs and spaces in pygtk.py
342 * pygtk.py: Replace all tabs with spaces.
344 2009-01-29 Paul Pogonyshev <pogonyshev@gmx.net>
346 Bug 567792 – gio.InputStream.read_async can cause memory
349 * gio/gio.override (py_decref_callback): Remove (unused now).
350 (pygio_notify_allocate_buffer, pygio_notify_attach_to_result)
351 (pygio_notify_get_attached): New functions.
352 (async_result_callback_marshal): Attach to the result object if
353 asked and then don't free self. Fix reference leak (spotted by
356 * gio/ginputstream.override (async_result_callback_marshal_read):
357 Remove. Use new attachment functionality in
358 async_result_callback_marshal() instead.
359 (_wrap_g_input_stream_read_async): Use the new functions (also
360 those mentioned in the cleanup log below).
361 (_wrap_g_input_stream_read_finish): Use the new functions.
363 2009-01-27 Daniel Elstner <danielk@openismus.com>
365 * codegen/docextract_to_xml.py (escape_text): Do not escape the
366 ampersand "&" in entity references (bug #568485). Replace some
367 unusual entity references in the output with their literal values.
369 2009-01-14 Paul Pogonyshev <pogonyshev@gmx.net>
371 Bug 566571 – gtk.Buildable interface method override is not
374 * gobject/gobjectmodule.c (pyg_type_add_interfaces): New function,
375 break out code repetition out of pyg_type_register().
377 * tests/test_subtype.py
378 (TestSubType.test_gtk_buildable_virtual_method): New test
381 2009-01-14 Paul Pogonyshev <pogonyshev@gmx.net>
383 Bug 566706 – cleanup GIO overrides
385 * gio/gio.override (pygio_notify_new)
386 (pygio_notify_using_optional_callback)
387 (pygio_notify_callback_is_valid_full)
388 (pygio_notify_callback_is_valid)
389 (pygio_notify_reference_callback): New functions.
390 (pygio_notify_free): Rename from pygio_free_notify() and extend.
391 (async_result_callback_marshal): Warn if new `referenced' field is
392 not set (programming error).
393 (_wrap_g_drive_eject, _wrap_g_drive_poll_for_media)
394 (_wrap_g_mount_unmount, _wrap_g_mount_eject)
395 (_wrap_g_mount_remount): Lots of cleanup: use new functions
396 instead of repeating code, unify and fix error handling.
398 * gio/gfile.override (_wrap_g_file_read_async)
399 (_wrap_g_file_load_contents_async)
400 (_wrap_g_file_enumerate_children_async)
401 (_wrap_g_file_mount_mountable, _wrap_g_file_unmount_mountable)
402 (_wrap_g_file_mount_enclosing_volume, _wrap_g_file_copy)
403 (_wrap_g_file_copy_async, _wrap_g_file_move)
404 (_wrap_g_file_append_to_async, _wrap_g_file_create_async)
405 (_wrap_g_file_replace_async, _wrap_g_file_query_info_async)
406 (_wrap_g_file_replace_contents_async): Similar cleanup.
408 * gio/gfileenumerator.override
409 (_wrap_g_file_enumerator_next_files_async): Similar cleanup.
411 * gio/gicon.override (_wrap_g_loadable_icon_load_async): Similar
414 * gio/ginputstream.override (_wrap_g_input_stream_close_async):
417 * gio/goutputstream.override (_wrap_g_output_stream_write_async)
418 (_wrap_g_output_stream_close_async): Similar cleanup.
420 * gio/gvolume.override (_wrap_g_volume_mount)
421 (_wrap_g_volume_eject): Similar cleanup.
423 * tests/test_gio.py (TestFile.test_copy_async): Fix the test.
425 2009-01-09 Gustavo J. A. M. Carneiro <gjc@gnome.org>
427 * gobject/gobjectmodule.c (pyg_type_register): Add a comment
428 explaining why the two for loops for registering interfaces.
430 2009-01-07 Paul Pogonyshev <pogonyshev@gmx.net>
432 Bug 566744 – _wrap_g_input_stream_read_async() argument parsing
433 has incorrect keyword args
435 * gio/ginputstream.override (_wrap_g_input_stream_read_async): Fix
436 keyword list to be in sync with positional arguments.
438 2009-01-06 Gian Mario Tagliaretti <gianmt@gnome.org>
440 Bug 566737 – Bad -I ordering can break build
443 * gobject/Makefile.am:
446 Commit a patch from [dmacks at netspace dot org]
448 2009-01-04 Mads Chr. Olesen <gnome-bugzilla@shiyee.dk>
450 * gio/gio.defs (gio.File.copy_async, gio.File.copy_finish): Define
453 * gio/gfile.override (_wrap_g_file_copy_async): New function.
455 * tests/test_gio.py (TestFile.test_copy_async): Test the methods.
457 2009-01-04 Przemysław Grzegorczyk <pgrzegorczyk@gmail.com>
459 Bug 563714 – GNOME Goal: Clean up GLib and GTK+ includes
461 * gobject/generate-constants.c:
462 * glib/pygspawn.c: Only include toplevel <glib.h>.
464 2009-01-04 Paul Pogonyshev <pogonyshev@gmx.net>
466 Bug 564018 – pygobject libtool-2.2 patch
468 * configure.ac: Apply the patch provided by Cygwin Ports
471 2009-01-04 Paul Pogonyshev <pogonyshev@gmx.net>
473 * configure.ac: Branch, bump version to 2.17.0.
476 2008-12-24 Paul Pogonyshev <pogonyshev@gmx.net>
478 Bug 547119 – gobject.timeout_add_seconds() not found in docs
480 * docs/reference/pyglib-functions.xml (glib.timeout_add_seconds):
483 2008-12-21 Paul Pogonyshev <pogonyshev@gmx.net>
485 Bug 564102 – _wrap_g_output_stream_write_async not adding a
486 reference to the buffer passed
488 * gio/gio.override (pygio_notify_copy_buffer): New function.
489 (pygio_free_notify): Free new `buffer' field if it is set.
491 * gio/goutputstream.override (_wrap_g_output_stream_write_async):
492 Copy the buffer with new pygio_notify_copy_buffer() and use the
493 copy for g_output_stream_write_async() call.
495 * gio/gfile.override (_wrap_g_file_replace_contents_async): Same
496 as for _wrap_g_output_stream_write_async().
498 2008-12-03 Paul Pogonyshev <pogonyshev@gmx.net>
500 * glib/pyglib.c (pyglib_error_check): Test if `domain' is not-null
501 before using it (avoids segfaults, see bug #561826).
503 2008-10-31 John Finlay <finlay@moeraki.com>
505 * codegen/__init__.py (__all__): Add defsgen to __all__ list.
507 * codegen/h2def.py (find_enum_defs): Strip out # directives from
509 (clean_func): Change ' * G_CONST_RETURN * ' to '** '
511 * codegen/Makefile.am (codegen_PYTHON): Add defsgen.py
513 * codegen/defsgen.py (typecode): Use the passed in prefix as a
514 hint when creating a typecode.
515 (split_prefix,write_enum_defs,_write_obj_helper): Add function to
516 use passed in prefix as a hint when splitting an object name into
519 * codegen/h2def.py (DefsWriter.write_enum_defs): Make sure the
520 prefix ends with a _ i.e. really handle the GDK_FONT_FONT,
521 GDK_FONT_FONTSET case.
523 2008-09-12 Gian Mario Tagliaretti <gianmt@gnome.org>
525 * gio/goutputstream.override
526 (g_output_stream_write_all): use gsize instead of gssize.
528 2008-09-10 Paul Pogonyshev <pogonyshev@gmx.net>
530 Bug 530935 – pygobject_set_properties doesnt release the GIL
532 * gobject/pygobject.c (pygobject_set_properties): Reuse
533 set_property_from_pspec() which release GIL for us. Also make
534 sure that g_object_thaw_notify() is called even after error.
536 2008-09-09 Paul Pogonyshev <pogonyshev@gmx.net>
538 Bug 549517 – add __repr__ to gio.Drive, gio.Mount and gio.Volume
540 * gio/gio.override (_wrap_g_drive_tp_repr, _wrap_g_mount_tp_repr):
543 * gio/gvolume.override (_wrap_g_volume_tp_repr): New function.
545 2008-09-09 Loïc Minier <lool@dooz.org>
547 Bug 551227 – Missing AC_CONFIG_MACRO_DIR([m4])
549 * configure.ac: Add AC_CONFIG_MACRO_DIR.
551 2008-09-08 Paul Pogonyshev <pogonyshev@gmx.net>
553 Bug 551056 – make codegen not import when corresponding argument
554 types are not registered
556 * codegen/override.py (import_pat): Add support for optional 'for'
558 (Overrides.__parse_override): Handle it.
560 * codegen/codegen.py (SourceWriter.write_imports)
561 (SourceWriter.write_object_imports): Adapt for changes in
562 get_imports() return value.
563 (is_registered_object): New function.
565 2008-09-07 Frederic Peters <fpeters@0d.be>
567 * gio/gfile.override (_wrap_g_file_load_contents)
568 (_wrap_g_file_load_contents_finish): Fix typos breaking
569 compilation (bug #551212).
571 2008-09-07 Jonathan Matthew <jonathan@d14n.org>
573 Bug 551059 – GFile load_contents methods chop data at first \0
575 * gio/gfile.override:
576 Use 's#' (length specified) rather than 's' when constructing
577 result values in load_contents and load_contents_finish.
579 2008-09-03 Johan Dahlin <johan@gnome.org>
582 Post release version bump
585 2008-09-03 Johan Dahlin <johan@gnome.org>
589 2008-09-03 Loïc Minier <lool@dooz.org>
591 * gobject/pygpointer.c: (pyg_register_pointer):
592 Fix typo (s/&type/type) introduced in r886 causing weird crashes on
595 2008-09-01 Gian Mario Tagliaretti <gianmt@gnome.org>
597 * codegen/argtypes.py: add G_TYPE_CLOSURE boxed type in codegen.
599 2008-08-31 Johan Dahlin <johan@gnome.org>
602 Post release version bump
605 2008-08-31 Johan Dahlin <johan@gnome.org>
609 2008-08-30 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
611 * glib/pyglib.h: * gobject/pygobject.c: Fix memory problems
612 reported by valgrind due to invalid tp_basicsize in
613 PyGPropsDescr_Type. Closes #549945.
615 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net>
617 Bug 549191 – Constructor of gtk.TreeView raises TypeError when
620 * gobject/pygtype.c (pyg_value_from_pyobject): Handle None in
621 G_TYPE_INTERFACE branch.
623 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net>
625 Bug 549351 – an unitialized variable in PyGLib
627 * glib/pygmainloop.c (pyg_main_loop_init): Initialize
630 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net>
632 Bug 547633 – cannot create new threads when pygtk is used
634 * glib/pyglib.c (_pyglib_notify_on_enabling_threads): New
636 (pyglib_enable_threads): Invoke all callbacks added with new
637 _pyglib_notify_on_enabling_threads().
639 * gobject/gobjectmodule.c (pyg_note_threads_enabled): New
640 function (callback for new _pyglib_notify_on_enabling_threads()).
641 (PYGLIB_MODULE_START): Initialize
642 'pygobject_api_functions.threads_enabled' and also watch for
643 thread being enabled later on.
645 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net>
647 Bug 547088 – wrap g_content_types_get_registered()
649 * gio/gio.override (_wrap_g_drive_get_volumes): Fix refleak.
650 (_wrap_g_content_types_get_registered): New function.
652 * gio/gfileenumerator.override (_wrap_g_file_enumerator_next_files_finish):
655 * gio/gvolumemonitor.override (_wrap_g_volume_monitor_get_connected_drives):
657 (_wrap_g_volume_monitor_get_volumes): Likewise.
658 (_wrap_g_volume_monitor_get_mounts): Likewise.
660 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net>
662 Bug 547494 – gio.InputStream.read() looks broken
664 * gio/gio.defs (gio.InputStream.read_part): Rename from read(),
666 (gio.InputStream.read): Rename from read_all(), document.
667 (gio.OutputStream.write_part): Rename from write(), document.
668 (gio.OutputStream.write): Rename from write_all(), document.
670 * gio/ginputstream.override (_wrap_g_input_stream_read): Fix
672 (_wrap_g_input_stream_read_all): New function.
674 * gio/goutputstream.override (_wrap_g_output_stream_write_all):
677 * tests/test_gio.py (TestInputStream.testRead): Add more tests.
678 (TestInputStream.test_read_part): New test.
679 (TestInputStream._read_in_loop): New helper method.
680 (TestOutputStream.test_write_part): New test.
682 2008-08-16 Paul Pogonyshev <pogonyshev@gmx.net>
684 * gio/gfile.override (_wrap_g_file_enumerate_children_async): Fix
685 keywords getting out of sync with actual argument order.
687 2008-08-13 Paul Pogonyshev <pogonyshev@gmx.net>
689 Bug 547495 – wrap four important asynchronous methods in gio.Drive
692 * gio/gio.defs (gio.Drive.eject, gio.Drive.poll_for_media)
693 (gio.Mount.remount): Document.
695 * gio/gio.override (_wrap_g_drive_eject)
696 (_wrap_g_drive_poll_for_media, _wrap_g_mount_eject)
697 (_wrap_g_mount_remount): New functions.
699 2008-08-12 Paul Pogonyshev <pogonyshev@gmx.net>
701 Bug 547484 – wrap gio.DataInputStream.read_line and ...read_until
703 * tests/test_gio.py (TestDataInputStream): New test case.
705 * gio/gio.defs (gio.DataInputStream.read_line)
706 (gio.DataInputStream.read_until): Document.
708 * gio/ginputstream.override (_wrap_g_data_input_stream_read_line)
709 (_wrap_g_data_input_stream_read_until): New functions.
711 2008-08-12 Paul Pogonyshev <pogonyshev@gmx.net>
713 Bug 547354 – wrap a few memory stream methods
715 * gio/ginputstream.override (_wrap_g_memory_input_stream_add_data):
718 * gio/gio.defs (gio.MemoryOutputStream.get_contents): Rename from
719 get_data() to avoid name clash.
721 * gio/goutputstream.override (_wrap_g_memory_output_stream_new)
722 (_wrap_g_memory_output_stream_get_data): New functions.
724 * tests/test_gio.py (TestMemoryInputStream)
725 (TestMemoryOutputStream): New test cases.
727 2008-08-12 Paul Pogonyshev <pogonyshev@gmx.net>
729 * gio/gio.override: Ignore `g_io_module*' and `g_io_scheduler_*'.
731 2008-08-11 Paul Pogonyshev <pogonyshev@gmx.net>
733 Bug 540376 – No TypeError raised when type is None
735 * gobject/gobjectmodule.c (pyg_signal_new): Add check on second
738 * tests/test_signal.py (TestSignalCreation): New test case.
740 2008-08-11 Paul Pogonyshev <pogonyshev@gmx.net>
742 Bug 547104 – improve type wrapper creation
744 * gio/gappinfo.override (_wrap_g_app_info_tp_richcompare)
745 (_wrap_g_app_info_tp_repr): New functions.
747 * tests/test_gio.py (TestAppInfo.test_eq): New test.
749 2008-08-11 Paul Pogonyshev <pogonyshev@gmx.net>
751 Bug 547104 – improve type wrapper creation
753 * gobject/pygobject.c (pygobject_register_class): Use new
754 pygobject_inherit_slots() to propagate custom slots in normal
756 (pygobject_inherit_slots): New function, break out of
757 pygobject_new_with_interfaces() and rewrite a bit.
758 (pygobject_find_slot_for): Add new argument that can forbid
759 overriding non-NULL slots.
761 * gio/gicon.override (pygio_do_icon_richcompare): Remove, the code
762 is now directly in _wrap_g_icon_tp_richcompare().
763 (_wrap_g_file_icon_tp_richcompare, _wrap_g_file_icon_tp_hash)
764 (_wrap_g_themed_icon_tp_richcompare, _wrap_g_themed_icon_tp_hash):
765 Remove, duplicating code in this way is not needed anymore.
767 2008-08-10 Paul Pogonyshev <pogonyshev@gmx.net>
769 Bug 546120 – make gio.File more Pythonic
771 * gio/gfile.override (_wrap_g_file_tp_richcompare)
772 (_wrap_g_file_tp_hash, _wrap_g_file_tp_repr): New functions.
774 * tests/test_gio.py (TestFile.test_eq, TestFile.test_hash): New
777 2008-08-10 Paul Pogonyshev <pogonyshev@gmx.net>
779 Bug 547104 – improve runtime type wrapper creation
781 * gobject/pygobject.c (pygobject_new_with_interfaces): Use new
782 pygobject_find_slot_for() for `tp_richcompare', `tp_compare`,
783 `tp_hash', `tp_iter', `tp_repr', `tp_str' and `tp_print'.
784 (pygobject_find_slot_for): New static function.
786 2008-08-10 Jonathan Matthew <jonathan@d14n.org>
788 Bug 547134 – fix docstring line length
791 Fix docstring line lengths so they don't wrap across lines in an 80
794 2008-08-10 Gian Mario Tagliaretti <gianmt@gnome.org>
797 Add GFile.query_default_handler which was missing from the defs.
799 2008-08-10 Jonathan Matthew <jonathan@d14n.org>
801 Bug 547067 – add File.replace_contents, replace_contents_async,
802 replace_contents_finish.
804 * gio/gfile.override:
807 Add overrides, docs, and tests for File.replace_contents,
808 replace_contents_async, and replace_contents_finish.
810 2008-08-09 Paul Pogonyshev <pogonyshev@gmx.net>
812 * tests/test_gicon.py (TestThemedIcon.test_constructor): Fix to
813 not use `use_default_fallbacks' property (it's new).
815 2008-08-09 Paul Pogonyshev <pogonyshev@gmx.net>
817 Bug 546135 – GIcon and implementations improvements
819 * gio/gio.defs (g_file_icon_new): Change from method of gio.File
820 to constructor of gio.FileIcon.
822 * tests/test_gicon.py (TestIcon.test_eq, Test_Eq.test_hash)
823 (TestLoadableIcon.setUp): Adapt accordingly.
824 (TestFileIcon): New test case.
826 2008-08-09 Paul Pogonyshev <pogonyshev@gmx.net>
828 Bug 546591 – File.copy progress_callback does not work
830 * gio/gfile.override (file_progress_callback_marshal): Use
831 PyObject_CallFunction() instead of PyEval_CallFunction(). Use "K"
832 instead of "k" (the latter is not correct for 32-bit platforms).
833 Don't free 'notify' here.
834 (_wrap_g_file_copy): Free 'notify'.
835 (_wrap_g_file_move): Likewise.
837 * gio/gio.override (pygio_free_notify): New function.
838 (async_result_callback_marshal): Use it.
840 * tests/test_gio.py (TestFile.test_copy_progress.progress): New
843 2008-08-09 Paul Pogonyshev <pogonyshev@gmx.net>
845 Bug 546135 – GIcon and implementations improvements
847 * gio/gio.defs (gio.LoadableIcon.load)
848 (gio.LoadableIcon.load_async, gio.LoadableIcon.load_finish):
852 * gio/gicon.override: New file: parts of 'gio.override', three
853 methods of gio.LoadableIcon and gio.ThemedIcon constructor.
855 * gio/gio.override: Move over all icon-related overrides to
859 * tests/test_gicon.py: New file: parts of 'test_gio.py' and
860 several new gio.Icon tests.
862 * tests/test_gio.py (TestThemedIcon): Move over to
865 2008-08-07 Jonathan Matthew <jonathan@d14n.org>
867 Bug 546734 – Missing Py_INCREFs for some file async methods
869 * gio/gfile.override:
870 Increment refcounts on callbacks and callback data for
871 append_to_async, create_async, replace_async, query_info_async and
872 load_contents_async as for all other async methods.
874 2008-08-06 Johan Dahlin <johan@gnome.org>
876 * gio/gfile.override:
878 Move the progress callback for move/copy so it's consistent with
879 the documentation and positional arguments. Update documentation as well
881 2008-08-06 Johan Dahlin <johan@gnome.org>
883 * glib/pyglib.c (pyglib_enable_threads):
884 * gobject/gobjectmodule.c (pyg_threads_init),
885 (pygobject_enable_threads):
886 Add a pygobject_enable_threads wrapper around pyglib_threads_enable
887 and return 0/-1 which existing gobject based applications expect.
889 2008-08-06 Johan Dahlin <johan@gnome.org>
891 * glib/pyglib.c (pyglib_init):
892 return in case of error instead of trying to access the internal
895 2008-08-06 Paul Pogonyshev <pogonyshev@gmx.net>
897 * gio/gio.override: Add 'pygio_do_icon_richcompare' prototype to
899 (_wrap_g_file_icon_tp_repr, _wrap_g_themed_icon_tp_repr): Fix
900 return value type in signature.
902 2008-08-05 Paul Pogonyshev <pogonyshev@gmx.net>
904 Bug 546135 – GIcon and implementations improvements
906 * gio/gio-types.defs (FileIcon): New 'define-object'.
908 * gio/gio.override (pygio_do_icon_richcompare)
909 (_wrap_g_icon_tp_richcompare, _wrap_g_icon_tp_hash)
910 (_wrap_g_file_icon_tp_richcompare, _wrap_g_file_icon_tp_hash)
911 (_wrap_g_file_icon_tp_repr, _wrap_g_themed_icon_tp_richcompare)
912 (_wrap_g_themed_icon_tp_hash, _wrap_g_themed_icon_tp_repr): New
915 2008-08-03 Gian Mario Tagliaretti <gianmt@gnome.org>
917 Bug 546046 – Wrap GFile.replace_async and query_info_async
920 * gio/gfile.override:
922 Wrap GFile.replace_async and query_info_async with docs and test.
924 2008-08-03 Paul Pogonyshev <pogonyshev@gmx.net>
927 * glib/pyglib.c (pyglib_enable_threads): Change return value from
928 'gboolean' to 'int' and changed semantics to Pythonic: restores
929 backwards compatibility.
931 * gobject/gobjectmodule.c (pyg_threads_init): Treat return value
932 accordingly (bug #544946).
934 2008-08-02 Gian Mario Tagliaretti <gianmt@gnome.org>
936 Bug 546020 – Wrap GFile.create_async
939 * gio/gfile.override:
941 Wrap GFile.create_async with docs and test
943 2008-08-02 Johan Dahlin <johan@gnome.org>
946 Remove SGML support, require python 2.4, modernize,
947 PEP-8ify. Make it run on gio.
949 * codegen/definitions.py:
950 Make property iterable
953 Include the gio-types.defs file.
955 2008-08-02 Johan Dahlin <johan@gnome.org>
957 * glib/glibmodule.c (pyglib_set_prgname):
958 * glib/pygoptioncontext.c (pyg_option_context_init),
959 (pyg_option_context_set_help_enabled),
960 (pyg_option_context_set_ignore_unknown_options),
961 (pyg_option_context_set_main_group),
962 (pyg_option_context_add_group):
963 * glib/pygoptiongroup.c (arg_func), (pyg_option_group_add_entries),
964 (pyg_option_group_set_translation_domain),
965 (pyg_option_group_compare), (pyglib_option_group_register_types):
966 Fix compilation warnings, clean up style and indentation.
968 2008-08-02 Gian Mario Tagliaretti <gianmt@gnome.org>
970 Bug 545959 – Wrap GFile.append_to_async
973 * gio/gfile.override:
975 Wrap GFile.append_to_async with docs and test
977 2008-08-02 Johan Dahlin <johan@gnome.org>
979 * gio/gfileinfo.override:
981 * glib/glibmodule.c (pyglib_get_current_time):
982 * glib/pyglib.c (pyglib_float_from_timeval):
984 Add pyglib_float_from_timeval and use it
986 2008-08-02 Johan Dahlin <johan@gnome.org>
989 * docs/reference/pyglib-constants.xml:
990 * docs/reference/pyglib-functions.xml:
991 * docs/reference/pyglib-maincontext.xml:
992 * docs/reference/pyglib-mainloop.xml:
993 * docs/reference/pygobject-classes.xml:
994 * docs/reference/pygobject-constants.xml:
995 * docs/reference/pygobject-functions.xml:
996 * docs/reference/pygobject-maincontext.xml:
997 * docs/reference/pygobject-mainloop.xml:
998 Separate the glib and gobject bindings in the manual.
1000 2008-08-02 Gian Mario Tagliaretti <gianmt@gnome.org>
1002 Bug 545920 – Wrap GFile.query_writable_namespaces
1004 * tests/test_gio.py:
1005 * gio/gfile.override:
1007 Wrap GFile.query_writable_namespaces with docs and test
1009 2008-08-02 Johan Dahlin <johan@gnome.org>
1012 * gio/gfile.override:
1013 * tests/test_gio.py:
1016 2008-08-02 Johan Dahlin <johan@gnome.org>
1019 * gio/gfile.override:
1022 * gio/gvolume.override:
1023 Wrap gio.Volume.mount and gio.Volume.eject
1025 2008-08-01 Gian Mario Tagliaretti <gianmt@gnome.org>
1028 Add docstring for gio.FileInfo.list_attributes
1030 2008-08-01 Johan Dahlin <johan@gnome.org>
1032 Bug 545861 – g_file_info_get_modification_time is missing
1033 * gio/gfileinfo.override:
1035 * tests/test_gio.py:
1036 Wrap, add test and documentation
1038 2008-08-01 Johan Dahlin <johan@gnome.org>
1040 Bug 545846 – g_vfs_get_supported_uri_schemes is missing
1044 * tests/test_gio.py:
1045 Wrap, add test and documentation
1047 2008-08-01 Johan Dahlin <johan@gnome.org>
1049 * glib/glibmodule.c (pyglib_set_application_name):
1050 Use %r instead of %s, this is not python!
1052 2008-07-31 Johan Dahlin <johan@gnome.org>
1054 * glib/glibmodule.c (pyglib_set_prgname)
1055 (pyglib_set_application_name): Use METH_O instead of METH_VARARGS.
1056 (_glib_functions): Add doc strings for idle_add, timeout_add,
1057 timeout_add_seconds, io_add_watch, child_watch_add, source_remove,
1058 main_depth and main_context_default.
1060 2008-07-29 Gian Mario Tagliaretti <gianmt@gnome.org>
1062 * tests/test_gio.py:
1063 * gio/gfileattribute.override:
1066 * gio/gfile.override:
1067 * gio/Makefile.am: Wrap new object gio.FileAttributeInfo,
1068 g_file_set_attribute and g_file_query_settable_attributes methods.
1070 2008-07-29 Gian Mario Tagliaretti <gianmt@gnome.org>
1072 * gio/unix-types.defs: Wrap gio.unix.DesktopAppInfo
1074 * gio/gappinfo.override:
1077 * gio/gapplaunchcontext.override:
1078 * gio/Makefile.am: Wrap g_app_info_launch_uris,
1079 g_app_info_launch, g_app_launch_context_get_display and
1080 g_app_launch_context_get_startup_notify_id
1082 * gio/pygio-utils.c:
1083 * gio/pygio-utils.h: Add a couple of useful function to reduce the
1084 code in wrapped methods.
1086 2008-07-29 Johan Dahlin <johan@gnome.org>
1088 * examples/gio/downloader.py:
1089 * gio/giomodule.c (init_gio):
1090 Add gio.FILE_ATTRIBUTE_* constants and update the examples to use them.
1092 2008-07-29 Johan Dahlin <johan@gnome.org>
1094 * examples/gio/downloader.py:
1097 * gio/ginputstream.override:
1098 Use a string internally instead of a PyStringObject when
1099 in read_async. Create a new python string in finish and
1100 honor the number of bytes read.
1102 2008-07-28 Johan Dahlin <johan@gnome.org>
1104 * glib/pyglib-python-compat.h:
1105 * gobject/pygobject-private.h:
1106 Move all compatibility into the same place, fixes build
1109 2008-07-27 Johan Dahlin <johan@gnome.org>
1112 Remove tabs. Use sys.exc_info()[1] to fetch the exception value
1114 * gobject/__init__.py:
1115 * gobject/propertyhelper.py:
1116 Import gobject._gobject instead of just gobject.
1118 * gobject/Makefile.am:
1119 * gobject/constants.py.in:
1120 * gobject/generate-constants.c (main):
1121 Don't add long suffix if python >= 3.0
1123 2008-07-27 Johan Dahlin <johan@gnome.org>
1125 * glib/pyglib-python-compat.h:
1126 * gobject/gobjectmodule.c (pyg_object_new),
1127 (pyg__install_metaclass):
1128 * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_init),
1129 (pyg_register_boxed):
1130 * gobject/pygenum.c (pyg_enum_reduce):
1131 * gobject/pyginterface.c (pyg_interface_init),
1132 (pyg_register_interface):
1133 * gobject/pygobject.c (pygobject_get_inst_data),
1134 (pygobject_register_class), (pygobject_new_with_interfaces),
1135 (pygobject_dealloc), (pygobject_repr), (pygobject_emit),
1136 (pygobject_chain_from_overridden), (pygobject_weak_ref_notify):
1137 * gobject/pygparamspec.c (pygobject_paramspec_register_types):
1138 * gobject/pygpointer.c (pyg_pointer_dealloc), (pyg_pointer_init),
1139 (pyg_register_pointer):
1140 * gobject/pygtype.c (pyg_type_from_object),
1141 (pyg_value_array_from_pyobject), (pyg_value_from_pyobject),
1142 (pyg_object_descr_doc_get):
1143 Use the Py_TYPE macro everywhere.
1145 2008-07-27 Johan Dahlin <johan@gnome.org>
1147 * glib/pyglib-python-compat.h:
1148 Add a Py_TYPE macro for accessing ob_type.
1149 * glib/glibmodule.c (pyglib_register_constants):
1150 * gobject/gobjectmodule.c (pygobject__g_instance_init),
1151 (pyg_integer_richcompare):
1152 * gobject/pygenum.c (pyg_enum_repr), (pyg_enum_from_gtype),
1153 (pyg_enum_add), (pyg_enum_get_value_name),
1154 (pyg_enum_get_value_nick):
1155 * gobject/pygflags.c (pyg_flags_repr), (pyg_flags_from_gtype),
1156 (pyg_flags_add), (pyg_flags_and), (pyg_flags_or), (pyg_flags_xor),
1157 (pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick),
1158 (pyg_flags_get_value_names), (pyg_flags_get_value_nicks):
1159 Use Py_TYPE and PyLong macros to access struct fields
1161 2008-07-27 Johan Dahlin <johan@gnome.org>
1163 * gobject/gobjectmodule.c (pyg_param_spec_from_object),
1164 (add_properties), (pyg_signal_new), (pyg_signal_list_ids),
1165 (pyg_signal_lookup), (pyg_signal_query):
1166 * gobject/pygenum.c (pyg_enum_richcompare), (pyg_enum_new),
1167 (pyg_enum_from_gtype), (pyg_enum_add), (pyg_enum_reduce),
1168 (pygobject_enum_register_types):
1169 * gobject/pygflags.c (pyg_flags_richcompare), (pyg_flags_new),
1170 (pyg_flags_from_gtype), (pyg_flags_add), (pyg_flags_and),
1171 (pyg_flags_or), (pyg_flags_xor), (pygobject_flags_register_types):
1172 * gobject/pygobject-private.h:
1173 * gobject/pygobject.c (pygobject_disconnect_by_func),
1174 (pygobject_handler_block_by_func),
1175 (pygobject_handler_unblock_by_func), (pygobject_get_refcount):
1176 * gobject/pygparamspec.c (pyg_param_spec_getattr):
1177 * gobject/pygtype.c (_wrap_g_type_wrapper__get_depth),
1178 (pyg_type_from_object), (pyg_enum_get_value),
1179 (pyg_flags_get_value), (pyg_value_from_pyobject),
1180 (pyg_value_as_pyobject):
1183 2008-07-27 Johan Dahlin <johan@gnome.org>
1185 * gobject/pygboxed.c (pygobject_boxed_register_types):
1186 * gobject/pygenum.c (pygobject_enum_register_types):
1187 * gobject/pygflags.c (pygobject_flags_register_types):
1188 * gobject/pygobject.c (pygobject_object_register_types):
1189 * gobject/pygparamspec.c (pygobject_paramspec_register_types):
1190 * gobject/pygpointer.c (pygobject_pointer_register_types):
1191 * gobject/pygtype.c (pygobject_type_register_types):
1192 Use PYGLIB_DEFINE_TYPE macro and move struct field initialization
1193 to the registration methods.
1195 2008-07-27 Johan Dahlin <johan@gnome.org>
1197 * glib/pyglib-python-compat.h:
1198 Add _PyUnicode_Type macro
1200 * gobject/gobjectmodule.c (pyg_type_name), (pyg_type_from_name),
1201 (_pyg_signal_accumulator), (add_signals), (add_properties),
1202 (get_type_name_for_class), (pyg_signal_list_names),
1203 (pyg_signal_name), (pyg_signal_query), (pyg_object_new),
1204 (pyg_add_emission_hook), (pyg_remove_emission_hook):
1205 * gobject/pygboxed.c (pyg_boxed_repr):
1206 * gobject/pygenum.c (pyg_enum_repr), (pyg_enum_add),
1207 (pyg_enum_get_value_name), (pyg_enum_get_value_nick):
1208 * gobject/pygflags.c (pyg_flags_repr), (pyg_flags_add),
1209 (pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick),
1210 (pyg_flags_get_value_names), (pyg_flags_get_value_nicks):
1211 * gobject/pygobject.c (build_parameter_list), (PyGProps_getattro),
1212 (PyGProps_setattro), (pygobject_register_class), (pygobject_repr),
1213 (pygobject_init), (pygobject_get_properties),
1214 (pygobject_set_properties), (pygobject_connect),
1215 (pygobject_connect_after), (pygobject_connect_object),
1216 (pygobject_connect_object_after), (pygobject_emit),
1217 (pygobject_stop_emission), (pygobject_disconnect_by_func),
1218 (pygobject_handler_block_by_func),
1219 (pygobject_handler_unblock_by_func),
1220 (pygobject_object_register_types):
1221 * gobject/pygparamspec.c (pyg_param_spec_repr),
1222 (pyg_param_spec_getattr):
1223 * gobject/pygpointer.c (pyg_pointer_repr):
1224 * gobject/pygtype.c (pyg_type_wrapper_repr),
1225 (_wrap_g_type_wrapper__get_name), (pyg_type_from_object),
1226 (pyg_enum_get_value), (pyg_flags_get_value),
1227 (pyg_value_from_pyobject), (pyg_value_as_pyobject),
1228 (object_doc_descr_get), (_pyg_strv_from_gvalue),
1229 (_pyg_strv_to_gvalue):
1231 Use _PyUnicode_* macros in the gobject module
1233 2008-07-27 Johan Dahlin <johan@gnome.org>
1235 * gobject/Makefile.am:
1236 * gobject/gobjectmodule.c (PYGLIB_MODULE_START):
1237 * gobject/pygobject-private.h:
1238 Use glib macros to define the module, update export regexp.
1240 2008-07-27 Johan Dahlin <johan@gnome.org>
1242 * gobject/Makefile.am:
1243 * gobject/gobjectmodule.c (init_gobject):
1244 * gobject/pygboxed.c (pygobject_boxed_register_types):
1245 * gobject/pygboxed.h:
1246 * gobject/pygenum.c (pygobject_enum_register_types):
1247 * gobject/pygenum.h:
1248 * gobject/pygflags.c (pygobject_flags_register_types):
1249 * gobject/pygflags.h:
1250 * gobject/pygpointer.c (pygobject_pointer_register_types):
1251 * gobject/pygpointer.h:
1252 Split out quark and type registration to the respective
1253 implementation source files, add headers.
1255 2008-07-27 Johan Dahlin <johan@gnome.org>
1257 * gobject/Makefile.am:
1258 * gobject/gobjectmodule.c (pygobject_register_api),
1259 (pygobject_register_constants), (pygobject_register_features),
1260 (pygobject_register_version_tuples), (pygobject_register_warnings),
1262 * gobject/pygobject-private.h:
1263 * gobject/pygobject.c (pyobject_copy), (pyobject_free),
1264 (pygobject_object_register_types):
1265 * gobject/pygtype.c (_pyg_strv_from_gvalue), (_pyg_strv_to_gvalue),
1266 (pygobject_type_register_types):
1267 * gobject/pygtype.h:
1268 Move off a bit more to separate functions, cleaning up the init_glib
1271 2008-07-27 Johan Dahlin <johan@gnome.org>
1273 * gobject/Makefile.am:
1274 * gobject/gobjectmodule.c (init_gobject):
1275 * gobject/pygobject-private.h:
1276 * gobject/pygobject.c:
1277 * gobject/pygparamspec.c (pygobject_paramspec_register_types):
1278 * gobject/pygparamspec.h:
1279 * gobject/pygtype.c:
1280 Move paramspec registration to a separate file, add a header
1281 for the internal API.
1283 2008-07-27 Paul Pogonyshev <pogonyshev@gmx.net>
1285 * gobject/pygtype.c (pyg_enum_get_value): Issue warning if 'obj'
1286 is a PyGEnum of wrong type, i.e. not matching 'enum_type' (bug
1289 2008-07-26 Johan Dahlin <johan@gnome.org>
1291 reviewed by: <delete if not using a buddy>
1293 * glib/pyglib-python-compat.h:
1295 Make a few macros public
1297 * gobject/Makefile.am:
1298 * gobject/gobjectmodule.c (init_gobject):
1299 * gobject/pyginterface.c (pyg_interface_init),
1300 (pyg_interface_free), (pyg_register_interface),
1301 (pyg_register_interface_info), (pyg_lookup_interface_info),
1302 (pygobject_interface_register_types):
1303 * gobject/pyginterface.h:
1304 * gobject/pygobject-private.h:
1305 * gobject/pygobject.c:
1306 Move GInterface wrapper into its own file
1308 2008-07-26 Johan Dahlin <johan@gnome.org>
1311 Also export PyInit_glib
1313 import glib._glib instead of just _glib
1314 * glib/pyglib-python-compat.h:
1315 * glib/pygoptioncontext.c (pyg_option_context_parse):
1316 * glib/pygsource.c (source_repr), (pyg_source_attach),
1317 (pyg_source_get_priority), (pyg_source_set_priority),
1318 (pyg_source_get_id), (pyg_source_prepare), (pyg_poll_fd_repr):
1319 * glib/pygspawn.c (pyg_pid_close), (pyg_pid_free), (pyg_pid_new),
1320 (pyglib_spawn_async), (pyglib_spawn_register_types):
1321 Go over the rest and replace missing symbols on python3.
1322 the glib module successfully compiles and runs now.
1324 2008-07-26 Johan Dahlin <johan@gnome.org>
1326 * glib/pygiochannel.c (py_io_channel_shutdown),
1327 (py_io_channel_set_buffer_size), (py_io_channel_get_buffer_size),
1328 (py_io_channel_set_buffered), (py_io_channel_get_buffered),
1329 (py_io_channel_set_encoding), (py_io_channel_get_encoding),
1330 (py_io_channel_read_chars), (py_io_channel_write_chars),
1331 (py_io_channel_write_lines), (py_io_channel_flush),
1332 (py_io_channel_set_flags), (py_io_channel_get_flags),
1333 (py_io_channel_get_buffer_condition),
1334 (py_io_channel_set_close_on_unref), (py_io_channel_add_watch),
1335 (py_io_channel_win32_poll), (py_io_channel_win32_make_pollfd),
1336 (py_io_channel_read_line), (py_io_channel_read_lines),
1337 (py_io_channel_seek), (py_io_channel_init):
1338 * glib/pyglib.c (pyglib_gerror_exception_check):
1339 * glib/pygoptioncontext.c (pyg_option_context_init):
1340 * glib/pygoptiongroup.c (check_if_owned):
1341 * glib/pygsource.c (pyg_idle_init), (pyg_timeout_init),
1345 2008-07-26 Johan Dahlin <johan@gnome.org>
1347 * glib/pygmaincontext.c (pyglib_maincontext_register_types):
1348 * glib/pygmainloop.c (pyg_main_loop_init),
1349 (pyglib_mainloop_register_types):
1350 * glib/pygoptioncontext.c (pyg_option_context_set_main_group),
1351 (pyglib_option_context_register_types):
1352 * glib/pygoptiongroup.c (pyglib_option_group_register_types):
1353 * glib/pygspawn.c (pyglib_spawn_register_types):
1354 Convert the pid/mainloop/maincontext/optiongroup/optioncontext.
1356 2008-07-26 Johan Dahlin <johan@gnome.org>
1358 * glib/pygsource.c (pyglib_source_register_types):
1359 Convert the source objects to use macros, saves ~150 lines of code!
1361 2008-07-26 Johan Dahlin <johan@gnome.org>
1363 * glib/glibmodule.c (get_handler_priority), (pyglib_idle_add),
1364 (pyglib_timeout_add), (pyglib_timeout_add_seconds),
1365 (pyglib_io_add_watch), (pyglib_child_watch_add),
1366 (pyglib_markup_escape_text), (pyglib_main_depth),
1367 (pyglib_filename_from_utf8), (pyglib_get_application_name),
1368 (pyglib_get_prgname), (PYGLIB_MODULE_START):
1369 * glib/pygiochannel.c (py_io_channel_next),
1370 (py_io_channel_shutdown), (py_io_channel_get_buffer_size),
1371 (py_io_channel_get_buffered), (py_io_channel_get_encoding),
1372 (py_io_channel_read_chars), (py_io_channel_write_chars),
1373 (py_io_channel_write_lines), (py_io_channel_flush),
1374 (py_io_channel_set_flags), (py_io_channel_get_flags),
1375 (py_io_channel_get_buffer_condition), (py_io_channel_win32_poll),
1376 (py_io_channel_read_line), (py_io_channel_read_lines),
1377 (py_io_channel_seek), (pyglib_iochannel_register_types):
1378 * glib/pyglib-private.h:
1379 * glib/pyglib-python-compat.h:
1380 * glib/pyglib.c (pyglib_init), (pyglib_error_check),
1381 (pyglib_gerror_exception_check),
1382 (pyglib_register_exception_for_domain):
1383 Add macros for supporting additional python versions.
1384 Start using them for the glib module. Tested on python 2.5 and 3.0.
1386 2008-07-26 Johan Dahlin <johan@gnome.org>
1390 Add macros which are compatible with python > 2.6.
1392 2008-07-26 Johan Dahlin <johan@gnome.org>
1395 Post release version bump
1398 2008-07-26 Johan Dahlin <johan@gnome.org>
1402 2008-07-26 Johan Dahlin <johan@gnome.org>
1404 * gobject/Makefile.am (_gobject_la_SOURCES): Build fix, remove
1407 * examples/gio/directory-async.py:
1409 * gio/giomodule.c (init_gio):
1410 * glib/pyglib.c (pyglib_error_check),
1411 (pyglib_register_exception_for_domain):
1413 * tests/test_gio.py:
1414 Add a new API for registering exceptions for a GError domain.
1415 Register a new exception for G_IO_ERROR, update tests
1416 and examples to use the new exception.
1418 2008-07-26 Johan Dahlin <johan@gnome.org>
1420 * glib/pygoptioncontext.c (pyg_option_context_set_main_group),
1421 (pyg_option_context_add_group):
1422 Send in a PyObject instead of a PyGOptionGroup object.
1424 2008-07-26 Johan Dahlin <johan@gnome.org>
1427 * glib/glibmodule.c (pyglib_register_constants), (init_glib):
1429 * glib/pyglib.c (pyglib_init),
1430 (pyglib_option_group_transfer_group), (pyglib_option_group_new),
1431 (pyglib_option_context_new):
1433 * glib/pygoptioncontext.c (pyg_option_context_parse),
1434 (pyg_option_context_set_main_group),
1435 (pyg_option_context_add_group),
1436 (pyglib_option_context_register_types):
1437 * glib/pygoptioncontext.h:
1438 * glib/pygoptiongroup.c (arg_func),
1439 (pyglib_option_group_register_types):
1440 * glib/pygoptiongroup.h:
1441 * gobject/Makefile.am:
1442 * gobject/__init__.py:
1443 * gobject/gobjectmodule.c (init_gobject):
1444 * gobject/option.py:
1445 * gobject/pygobject-private.h:
1446 * gobject/pygoptioncontext.c:
1447 * gobject/pygoptiongroup.c:
1448 Move option over from gobject to glib.
1450 2008-07-26 Johan Dahlin <johan@gnome.org>
1453 * tests/test_conversion.py:
1454 * tests/test_enum.py:
1455 * tests/test_interface.py:
1456 * tests/test_option.py:
1457 * tests/test_source.py:
1458 * tests/test_subprocess.py:
1459 * tests/test_subtype.py:
1460 * tests/test_thread.py:
1461 * tests/test_unknown.py:
1462 Run pyflakes on the testsuite, remove unused imports
1463 and reorganize others.
1465 2008-07-26 Johan Dahlin <johan@gnome.org>
1467 * glib/glibmodule.c (pyglib_register_constants), (init_glib):
1468 * gobject/__init__.py:
1469 * gobject/gobjectmodule.c (init_gobject):
1470 Move over glib constants to gobject
1471 * tests/test_gio.py:
1472 * tests/test_mainloop.py:
1473 * tests/test_source.py:
1474 * tests/test_subprocess.py:
1475 * tests/test_thread.py:
1476 Update tests to refer to glib when appropriate
1478 2008-07-26 Johan Dahlin <johan@gnome.org>
1482 Bump required glib version to 2.10
1484 2008-07-26 Johan Dahlin <johan@gnome.org>
1486 * glib/glibmodule.c (child_watch_dnotify),
1487 (pyglib_child_watch_add):
1488 * glib/pygiochannel.c (pyg_iowatch_data_free),
1489 (py_io_channel_add_watch):
1490 * glib/pygspawn.c (_pyg_spawn_async_callback),
1491 (pyglib_spawn_async):
1492 Use g_slice_new instead of g_new
1494 2008-07-25 Johan Dahlin <johan@gnome.org>
1496 * gobject/Makefile.am:
1497 * tests/Makefile.am:
1500 2008-07-25 Johan Dahlin <johan@gnome.org>
1502 * gobject/gobjectmodule.c (init_gobject):
1503 * gobject/pygobject-private.h:
1504 Remove private structures which moved to pyglib.
1506 2008-07-24 Johan Dahlin <johan@gnome.org>
1508 Bug 544600 – pygobject building failed since 839 revision,
1509 error : "Py_ssize_t" undeclared
1511 * glib/pyglib-private.h: Add backward compatibility macros for
1514 * gio/gfile.override:
1515 * gio/gfileenumerator.override:
1516 * gio/ginputstream.override:
1519 * gio/goutputstream.override:
1520 * tests/test_gio.py:
1521 Wrap gio.File.copy, add tests and documentation.
1522 Rename PyGAsyncRequestNotify to PyGIONotify and reuse it.
1524 2008-07-23 Johan Dahlin <johan@gnome.org>
1526 * glib/pyglib.c (_pyglib_destroy_notify):
1527 Rename the function too, not just the prototype!
1529 2008-07-21 Johan Dahlin <johan@gnome.org>
1531 * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add),
1532 (pyglib_timeout_add_seconds), (pyglib_io_add_watch):
1533 * glib/pyglib-private.h:
1534 * glib/pyglib.c (pyglib_destroy_notify), (_pyglib_handler_marshal):
1536 * glib/pygsource.c (pyg_source_set_callback):
1537 Make pyglib_destroy_notify and pyglib_handler_marshal private.
1538 Add a few public prototypes.
1540 2008-07-21 Johan Dahlin <johan@gnome.org>
1542 * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add),
1543 (pyglib_timeout_add_seconds), (pyglib_io_add_watch),
1544 (pyglib_source_remove), (pyglib_child_watch_add),
1545 (pyglib_markup_escape_text), (pyglib_get_current_time),
1546 (pyglib_main_depth), (pyglib_filename_display_name),
1547 (pyglib_filename_display_basename), (pyglib_filename_from_utf8),
1548 (pyglib_get_application_name), (pyglib_set_application_name),
1549 (pyglib_get_prgname), (pyglib_set_prgname), (pyglib_register_api),
1550 (pyglib_register_error):
1551 Mark as static, rename from pyg_* -> pyglib_*. Fill in api struct,
1552 rename struct and remove function suffix.
1554 2008-07-21 Johan Dahlin <johan@gnome.org>
1557 * glib/glibmodule.c (pyg_idle_add), (pyg_timeout_add),
1558 (pyg_timeout_add_seconds), (pyg_io_add_watch),
1559 (pyglib_register_api), (pyglib_register_error),
1560 (pyglib_register_version_tuples), (init_glib):
1561 * glib/pygiochannel.c (py_io_channel_next),
1562 (py_io_channel_shutdown), (py_io_channel_set_encoding),
1563 (py_io_channel_read_chars), (py_io_channel_write_chars),
1564 (py_io_channel_write_lines), (py_io_channel_flush),
1565 (py_io_channel_set_flags), (py_io_channel_read_line),
1566 (py_io_channel_read_lines), (py_io_channel_seek),
1567 (py_io_channel_init), (pyglib_iochannel_register_types):
1568 * glib/pygiochannel.h:
1569 * glib/pyglib-private.h:
1570 * glib/pyglib.c (pyglib_threads_enabled),
1571 (pyglib_gil_state_ensure), (pyglib_gil_state_release),
1572 (pyglib_enable_threads), (pyglib_block_threads),
1573 (pyglib_unblock_threads), (pyglib_set_thread_block_funcs),
1574 (pyglib_handler_marshal), (pyglib_destroy_notify):
1576 * glib/pygsource.c (pyg_source_set_callback),
1577 (pyglib_source_register_types):
1579 * glib/pygspawn.c (pyglib_spawn_register_types):
1581 * gobject/Makefile.am:
1582 * gobject/__init__.py:
1583 * gobject/gobjectmodule.c (pyg_set_thread_block_funcs),
1585 * gobject/pygiochannel.c:
1586 * gobject/pygobject-private.h:
1587 * gobject/pygsource.c:
1588 Move over Source, IOChannel, Idle, Timeout and PollFD to glib from
1590 Clean up and add a bit of new api for glib.
1592 2008-07-21 Johan Dahlin <johan@gnome.org>
1595 Use yes/no instead of true/false. Avoid bashism.
1596 Fix another logic bug, and let's hope I didn't break anything
1598 2008-07-20 Paul Pogonyshev <pogonyshev@gmx.net>
1600 * configure.ac (pygobject_CODEGEN_DEFINES): Fix libffi check
1603 2008-07-20 Johan Dahlin <johan@gnome.org>
1606 * glib/glibmodule.c (pyglib_main_context_default), (init_glib):
1607 * glib/pyglib.c (pyglib_init), (pyglib_threads_enabled),
1608 (pyglib_main_context_new):
1610 * glib/pygmaincontext.c (_wrap_g_main_context_iteration),
1611 (pyglib_maincontext_register_types):
1612 * glib/pygmaincontext.h:
1613 * glib/pygmainloop.c (pyg_signal_watch_prepare),
1614 (pyg_signal_watch_check), (pyg_main_loop_new),
1615 (_wrap_g_main_loop_get_context), (_wrap_g_main_loop_run),
1616 (pyglib_mainloop_register_types):
1617 * glib/pygmainloop.h:
1618 * gobject/Makefile.am:
1619 * gobject/__init__.py:
1620 * gobject/gobjectmodule.c (pyg_destroy_notify), (pyobject_free),
1621 (pyg_object_set_property), (pyg_object_get_property),
1622 (_pyg_signal_accumulator), (pygobject__g_instance_init),
1623 (pyg_handler_marshal), (pygobject_gil_state_ensure),
1624 (pygobject_gil_state_release), (marshal_emission_hook),
1625 (_log_func), (init_gobject):
1626 * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_new):
1627 * gobject/pygenum.c (pyg_enum_add):
1628 * gobject/pygflags.c (pyg_flags_add):
1629 * gobject/pygiochannel.c (pyg_iowatch_marshal):
1630 * gobject/pygmaincontext.c:
1631 * gobject/pygmainloop.c:
1632 * gobject/pygobject-private.h:
1633 * gobject/pygobject.c (pygobject_data_free), (pyg_toggle_notify),
1634 (pygobject_new_with_interfaces), (pygobject_weak_ref_notify):
1635 * gobject/pygobject.h:
1636 * gobject/pygoptiongroup.c (destroy_g_group), (arg_func):
1637 * gobject/pygpointer.c (pyg_pointer_new):
1638 * gobject/pygsource.c (pyg_source_get_context),
1639 (pyg_source_prepare), (pyg_source_check), (pyg_source_dispatch),
1640 (pyg_source_finalize):
1641 * gobject/pygtype.c (pyg_closure_invalidate),
1642 (pyg_closure_marshal), (pyg_signal_class_closure_marshal):
1645 Move maincontext and mainloop over to glib.
1646 Update the threadstate api to use the variant in glib.
1648 2008-07-20 Johan Dahlin <johan@gnome.org>
1651 * gobject/Makefile.am:
1652 * gobject/__init__.py:
1653 * gobject/gobjectmodule.c (pyg_threads_init), (pyg_error_check),
1654 (pyg_gerror_exception_check), (init_gobject):
1655 * gobject/option.py:
1656 Install the glib module, the helper library and the headers.
1657 Use it from gobject and remove the old glib specific code from there.
1659 2008-07-20 Johan Dahlin <johan@gnome.org>
1662 * gobject/Makefile.am:
1663 Use pkg-config to check for libffi again.
1665 2008-07-20 Johan Dahlin <johan@gnome.org>
1668 * glib/glibmodule.c (pyg_main_context_default):
1669 * glib/pyglib.c (pyglib_gerror_exception_check):
1671 Rename helper library to libpyglib-2.0.
1672 Move over pyg_gerror_exception_check as well.
1674 2008-07-20 Johan Dahlin <johan@gnome.org>
1680 * glib/glibmodule.c (pyg_destroy_notify), (get_handler_priority),
1681 (pyg_handler_marshal), (pyg_idle_add), (pyg_timeout_add),
1682 (pyg_timeout_add_seconds), (iowatch_marshal), (pyg_io_add_watch),
1683 (pyg_source_remove), (pyg_main_context_default),
1684 (child_watch_func), (child_watch_dnotify), (pyg_child_watch_add),
1685 (pyg_markup_escape_text), (pyg_get_current_time), (pyg_main_depth),
1686 (pyg_filename_display_name), (pyg_filename_display_basename),
1687 (pyg_filename_from_utf8), (pyg_get_application_name),
1688 (pyg_set_application_name), (pyg_get_prgname), (pyg_set_prgname),
1689 (pyg_register_api), (pyg_register_error),
1690 (pyg_register_version_tuples), (init_glib):
1691 * glib/pyglib-private.h:
1692 * glib/pyglib.c (pyglib_init), (pyglib_init_internal),
1693 (pyglib_gil_state_ensure), (pyglib_gil_state_release),
1694 (pyglib_enable_threads), (pyglib_gil_state_ensure_py23),
1695 (pyglib_gil_state_release_py23), (pyglib_error_check):
1697 * glib/pygspawn.c (pyg_pid_close), (pyg_pid_free),
1698 (pyg_pid_tp_init), (pyg_pid_new), (_pyg_spawn_async_callback),
1699 (pyglib_spawn_async), (pyg_spawn_register_types):
1701 Add glib bindings, currently not installed or used.
1702 Add some internal API and move over a couple of functions
1703 from the gobject module. Still very much a work in progress.
1705 2008-07-19 Johan Dahlin <johan@gnome.org>
1708 Ignore a bunch of functions which are not relevant.
1710 2008-07-19 Johan Dahlin <johan@gnome.org>
1712 * gio/gfile.override:
1715 * tests/test_gio.py:
1716 Bind gio.Mount.unmount, gio.File.mount_mountable,
1717 gio.File.unmount_mountable and gio.File.mount_enclosing_volume.
1718 Add documents and tests.
1720 2008-07-19 Johan Dahlin <johan@gnome.org>
1722 * gio/gio.override: Set module name back to
1723 gio, as setting it to gio._gio breaks pydoc.
1726 Use property based constructors when possible.
1728 2008-07-19 Johan Dahlin <johan@gnome.org>
1730 * examples/gio/directory-async.py:
1731 * gio/gfileenumerator.override:
1733 * tests/test_gio.py:
1734 Wrap gio.FileEnumerator.next_files_async/next_files_done.
1735 Update the example to use them instead of the synchronous versions,
1736 add documentation and tests.
1738 2008-07-19 Johan Dahlin <johan@gnome.org>
1740 * examples/gio/directory-async.py:
1741 Only fetch name, saves a couple of syscalls.
1743 Set name to gio._gio so pychecker/pydoc works.
1745 2008-07-18 Johan Dahlin <johan@gnome.org>
1747 * examples/gio/directory-async.py:
1748 * gio/gfile.override:
1749 * gio/gfileenumerator.override:
1751 * tests/test_gio.py:
1752 Wrap gio.File.enumerate_children_async, add tests, docstring
1754 Also document gio.File.enumerate while we're at it.
1756 2008-07-18 Johan Dahlin <johan@gnome.org>
1758 * gio/gfile.override:
1759 Use %zd instead of %d since it's a Py_ssize_t and not an int.
1761 2008-07-18 Johan Dahlin <johan@gnome.org>
1763 * gio/pygio-utils.h:
1764 define NO_IMPORT_PYGOBJECT before including pygobject.h
1766 2008-07-18 Johan Dahlin <johan@gnome.org>
1768 * gio/giomodule.c (init_gio):
1769 Require pygobject 2.15.2
1771 2008-07-17 Johan Dahlin <johan@gnome.org>
1773 * gio/giomodule.c (init_gio):
1774 Add a pygio_version module attribute
1775 (DL_EXPORT): The module is called gio._gio, not just _gio.
1777 2008-07-17 Johan Dahlin <johan@gnome.org>
1779 * gio/gio-types.defs:
1780 Rename gio.IOErrorEnum to gio.ErrorEnum
1782 2008-07-17 Johan Dahlin <johan@gnome.org>
1784 * gio/giomodule.c (init_gio):
1785 Add gio.ERROR which maps to the G_IO_ERROR quark.
1787 2008-07-17 Johan Dahlin <johan@gnome.org>
1789 * gio/giomodule.c (init_gio):
1790 Use the prefix G_IO_ for stripping constants instead of just G_
1791 * gobject/gobjectmodule.c (pyg_constant_strip_prefix):
1792 Check so the fist part of name and strip_prefix are the same,
1793 if they don't, just strip of the part of strip_prefix which
1796 This removes the initial IO_* prefix for some constants in gio.
1797 Eg, gio.IO_ERROR_* -> gio.ERROR_*
1799 2008-07-16 Johan Dahlin <johan@gnome.org>
1801 * configure.ac: Post release version bump
1804 2008-07-16 Johan Dahlin <johan@gnome.org>
1808 2008-07-15 Paul Pogonyshev <pogonyshev@gmx.net>
1810 * codegen/pygobject-codegen-2.0.in: Rename from
1811 'pygtk-codegen-2.0.in'.
1814 * codegen/Makefile.am: Update accordingly.
1816 2008-07-15 Johan Dahlin <johan@gnome.org>
1818 * configure.ac: Post release version bump
1821 2008-07-15 Johan Dahlin <johan@gnome.org>
1827 * tests/Makefile.am:
1828 Make sure we can distcheck the gio module properly
1830 2008-07-15 Johan Dahlin <johan@gnome.org>
1832 Bug 450659 – h2def.py - export 'typedef struct' object definitions not
1836 Patch by Lauro Moura
1838 2008-07-14 Johan Dahlin <johan@gnome.org>
1840 Bug 471559 – add AM_PROG_CC_C_O to configure.ac for recent automake
1845 2008-07-14 Johan Dahlin <johan@gnome.org>
1847 Bug 448173 – use python-config to get python includes
1850 Really close the by, patch by Matthias Klose
1852 2008-07-14 Johan Dahlin <johan@gnome.org>
1854 Bug 378704 – OptionParser.parse_args() returns unexpected results
1856 * gobject/option.py:
1857 Patch by Johannes Hölzl
1859 2008-07-14 Johan Dahlin <johan@gnome.org>
1861 Bug 491773 – autoconf failure: .m4 files cannot be found
1864 Patch by macks@netspace.org
1866 2008-07-14 Gian Mario Tagliaretti <gianmt@gnome.org>
1868 * gio/gfile.override: wrap File.load_contents_async and
1869 File.load_contents_finish
1871 * gio/gio.defs: Add docstring for the above methods.
1873 * tests/test_gio.py: Add a test for the above methods.
1875 2008-07-14 Johan Dahlin <johan@gnome.org>
1877 Bug 487523 – Add xslfiles variable to .pc.in files
1879 * pygobject-2.0-uninstalled.pc.in:
1880 Add xslfiles variable, patch by Damien Carbery
1882 2008-07-14 Johan Dahlin <johan@gnome.org>
1885 Remove g_file_input_stream_seek and g_file_output_stream_seek,
1886 they already implement the seekable interface.
1888 2008-07-14 Johan Dahlin <johan@gnome.org>
1890 Bug 504337 - crash bug in gobject.Timeout and gobject.Idle
1892 * gobject/pygsource.c:
1893 * tests/test_source.py:
1894 Fix crash in Timeout and Idle, patch by Bryan Silverthorn.
1896 2008-07-14 Johan Dahlin <johan@gnome.org>
1898 * codegen/argtypes.py:
1899 Map GSeekType to an int
1901 * gio/gfileinfo.override:
1902 * gio/ginputstream.override:
1903 * gio/goutputstream.override:
1904 Add comments for missing API
1906 2008-07-14 Johan Dahlin <johan@gnome.org>
1909 * gio/gfile.override:
1910 * gio/ginputstream.override:
1912 * gio/goutputstream.override:
1913 * gio/pygio-utils.c (pygio_check_cancellable):
1914 * gio/pygio-utils.h:
1915 Refactor cancellable check to a utility function, avoids
1916 plenty of code duplication.
1918 2008-07-14 Paul Pogonyshev <pogonyshev@gmx.net>
1920 * codegen/definitions.py (ReturnType): New class.
1921 (MethodDefBase.__init__): Make 'self.ret' a 'ReturnType' instance,
1922 not string. Accept 'optional' flag.
1924 * codegen/argtypes.py (ArgMatcher.get_reverse_ret): Test if
1925 'ptype' has true 'optional' attribute and copy it to 'props' then.
1927 * codegen/reversewrapper.py (ReturnType.support_optional): New
1928 class field, False by default.
1929 (GObjectReturn.support_optional, GObjectReturn.write_decl)
1930 (GObjectReturn.write_conversion): Support optional return.
1932 * pygobject-2.0.pc.in: Add 'codegendir' variable.
1933 * codegen/pygtk-codegen-2.0.in: Make 'codegendir' refer to
1934 PyGObject's codegen, not PyGTK's one --- the latter will be
1935 removed (first part of bug #542821).
1937 2008-07-08 Murray Cumming <murrayc@murrayc.com>
1939 * codegen/h2def.py: clean_func(): Strip GSEAL out, to avoid us
1940 thinking that there are many functions called GSEAL (merge from
1943 2008-01-29 Olivier Crete <tester@tester.ca>
1945 * codegen/h2def.py (DefsWriter.__init__): Fix copy-paste
1946 typos (merge from PyGTK).
1948 2008-07-11 Gian Mario Tagliaretti <gianmt@gnome.org>
1950 * gio/gfile.override: wrap File.load_contents, fix a typo.
1952 * gio/gio.defs: Add docstring for File.load_contents.
1954 * tests/test_gio.py: Add a test for the above method.
1956 2008-07-09 Juha Sahakangas <voas0113@saunalahti.fi>
1958 * gobject/gobjectmodule.c (pyg_io_add_watch): Fix error message
1959 referencing wrong argument.
1961 2008-06-29 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1963 * gobject/gobjectmodule.c (pyg_markup_escape_text): text_size
1964 should be Py_ssize_t instead of int.
1965 Bug 540696 – gobject.markup_escape_text() causes python to segfault.
1967 2008-06-28 Johan Dahlin <jdahlin@async.com.br>
1969 * docs/reference/pygobject.xml:
1970 Document GObject.handler_block_by_func/handler_unblock_by_func
1972 2008-06-17 Johan Dahlin <jdahlin@async.com.br>
1974 * gio/gio-types.defs:
1975 * tests/test_gio.py:
1976 Sort out confusion between interfaces and objects, add test.
1979 2008-06-09 Paul Pogonyshev <pogonyshev@gmx.net>
1981 * gobject/pygobject.c (pygobject_copy, pygobject_deepcopy): New
1982 functions, unconditionally raise TypeError.
1983 (pygobject_methods): Hook them up. (bug #482370)
1985 2008-05-31 Johan Dahlin <johan@gnome.org>
1987 * setup.py: set FFI_LIBS to '', since this is mostly used on win32.
1989 2008-05-30 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1991 * gobject/gobjectmodule.c (init_gobject): Call PyType_Ready for
1992 PyGParamSpec_Type, and add it to the module dict.
1994 2008-05-23 Johan Dahlin <jdahlin@async.com.br>
1997 Add default values for all GSeekType variables.
1999 2008-05-21 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2001 * gobject/gobjectmodule.c (pyg_spawn_async): Accept None for the
2002 child_setup parameter of gobject.spawn_async(). Also check that
2005 2008-04-27 Paul Pogonyshev <pogonyshev@gmx.net>
2007 * gobject/pygenum.c (pyg_enum_richcompare): Fix: raise warning as
2008 exception if asked by PyErr_Warn().
2010 * gobject/pygflags.c (pyg_flags_richcompare): Don't return NULL
2011 after warning; more useful warning message.
2013 (#480424, borrowing code by Mark Doffman)
2015 2008-04-21 Johan Dahlin <johan@gnome.org>
2017 * codegen/h2def.py: Update link to defs format discussion
2019 2008-04-15 Johan Dahlin <johan@gnome.org>
2021 * gobject/gobjectmodule.c (init_gobject): Set
2022 gobject.GObject.__module__ to gobject._gobject, this
2023 helps pylint to check public methods of GObject subclasses
2025 * tests/Makefile.am (tests):
2026 * tests/test_gobject.py (TestGObjectAPI.testGObjectModule):
2029 (#523821, Simon Schampijer)
2031 2008-04-11 Johan Dahlin <jdahlin@async.com.br>
2033 * gio/gio.defs (write_async): document.
2034 Add default values to all flags parameters.
2036 2008-04-11 Johan Dahlin <johan@gnome.org>
2038 * gio/gio.defs (read_async, read): document.
2039 Set io_priority default to G_PRIORITY_DEFAULT.
2041 2008-04-11 Johan Dahlin <jdahlin@async.com.br>
2043 * gio/gfile.override:
2044 * gio/ginputstream.override:
2045 * gio/goutputstream.override:
2046 * tests/test_gio.py:
2047 Move around the order of the callback argument to async methods,
2048 so it comes before priority and cancellable, which can have default
2051 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2055 * gio/gappinfo.override:
2058 * tests/test_gio.py:
2059 Implement GAppInfo constructor, add tests.
2061 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2064 * gio/gfileinfo.override:
2067 * tests/test_gio.py:
2068 Wrap GFileInfo.list_attributes(), add tests and
2069 set the default of GFileQueryInfoFlags args to G_FILE_QUERY_INFO_NONE.
2071 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2073 * gobject/option.py: Fix a typo
2074 * tests/test_option.py:
2075 Update the tests after the latest "refactoring".
2076 The testsuite should run fine now again, finally.
2078 2008-04-08 Johan Dahlin <johan@gnome.org>
2080 * tests/test_gio.py (TestOutputStream.testWriteAsyncError):
2081 (TestInputStream._testCloseAsync.callback):
2082 Disable these tests until we can figure why they freeze during
2085 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2089 * tests/test_gio.py:
2090 Add bindings for content_type_guess.
2091 Based on patch by Thomas Leonard (#525113)
2093 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2095 * gio/gio-types.defs:
2098 * tests/test_gio.py:
2099 Add basic support for GThemedIcon, based on patch by
2100 Thomas Leonard (#521883)
2102 2008-04-08 Johan Dahlin <jdahlin@async.com.br>
2104 * gobject/pygsource.c:
2105 * tests/test_source.py:
2106 Unbreak Source.prepare (#523075, Bryan Silverthorn)
2108 2008-04-08 Johan Dahlin <johan@gnome.org>
2110 * gio/gfile.override (_wrap__install_file_meta): Fix a couple of
2111 silly typos and use gio.File instead of GFile in exceptions.
2113 2008-04-07 Johan Dahlin <johan@gnome.org>
2116 * gio/gfile.override:
2117 * gio/gio-types.defs:
2119 * tests/test_gio.py:
2120 Make gio.File() (calling on an interface) a factory for creating
2121 files. Add tests and a docstring.
2123 2008-04-07 Johan Dahlin <johan@gnome.org>
2125 * gio/Makefile.am (pygiodir): Install gio in the right location
2127 2008-04-06 Johan Dahlin <johan@gnome.org>
2129 * tests/test_gio.py: Add tests for recently added features.
2131 * gio/goutputstream.override:
2132 (_wrap_g_output_stream_write_asyn,_wrap_g_output_stream_close_async):
2133 * gio/ginputstream.override (async_result_callback_marshal_read):
2136 * gio/gio.override: Ignore vararg functions and remove a couple
2137 of left overs in the generic marshaller.
2139 * gio/gio.defs: Remove g_file_output_stream_truncate,
2140 g_file_output_stream_tell and g_file_input_stream_tell
2143 * gio/gfileenumerator.override (_wrap_g_file_enumerator_tp_iter):
2144 Implement the python iteration protocol on GFileEnumerator
2146 * codegen/argtypes.py (arg): Add goffset to the int64 arg type
2148 2008-04-02 Paul Pogonyshev <pogonyshev@gmx.net>
2150 * gobject/pygenum.c: bug #428732
2151 (pyg_enum_new): Fix two wrong assertions about '__enum_values__'
2153 (pyg_enum_reduce): New function (based on patch by Phil Dumont).
2154 (pyg_enum_methods): Hook it up.
2156 2008-03-24 Paul Pogonyshev <pogonyshev@gmx.net>
2158 * gobject/pygenum.c (pyg_enum_richcompare): Don't return NULL
2159 after warning; more useful warning message (bug #519631).
2161 2008-03-22 Johan Dahlin <johan@gnome.org>
2163 * gio/ginputstream.override:
2165 * tests/test_gio.py:
2167 Make read_finish() return the string, remove the get_buffer method.
2168 This is more pythonic, as it mimics the normal read() behavior of
2170 Update the tests and use a separate marshaller for read.
2172 2008-03-21 Johan Dahlin <johan@gnome.org>
2174 * gobject/__init__.py:
2175 * tests/test_properties.py:
2176 Allow gobject.property work with subclasses. Add tests.
2178 (#523352, Tomeu Vizoso)
2180 2008-03-10 Johan Dahlin <johan@gnome.org>
2182 * configure.ac: Require gio and giounix 2.15.7.
2184 2008-03-09 Johan Dahlin <johan@gnome.org>
2186 * gio/gio-types.defs:
2188 * tests/test_gio.py:
2189 Update to SVN of gio:
2190 g_file_contains_file -> g_file_has_prefix
2191 can_seek and can_truncate are now only on the GSeekable interface
2194 (#521207, Thomas Leonard)
2196 2008-03-08 Johan Dahlin <jdahlin@async.com.br>
2198 * gio/ginputstream.override:
2199 Pass in l instead of i to PyArg_ParseTupleAndKeywords when
2200 parsing a long. Fixes the build on 64-bit systems.
2201 (#521165, Thomas Leonard)
2203 2008-03-02 Johan Dahlin <johan@gnome.org>
2205 * Makefile.am: Dist .m4 files.
2206 (#496011, Ed Catmur)
2208 2008-03-02 Paul Pogonyshev <pogonyshev@gmx.net>
2210 * gobject/gobjectmodule.c (REGISTER_TYPE): Never override customly
2211 set 'tp_new' and 'tp_alloc'.
2213 2008-02-01 Dan Winship <danw@gnome.org>
2215 * pygobject-2.0.pc.in (defsdir): Add this so other bindings can
2218 2008-01-21 Johan Dahlin <johan@gnome.org>
2220 * gio/gio.override (async_result_callback_marshal):
2221 Don't assume the buffer is set, use Py_XINCREF instead of Py_INCREF.
2224 * gio/ginputstream.override:
2225 * gio/goutputstream.override:
2226 * gio/gvolumemonitor.override:
2227 * gio/gfile.override:
2228 * tests/test_gio.py:
2229 Implement and test GFile.read_async. Use try/finally to always quit
2230 the mainloop, even if the test fail.
2231 Update source comment headers.
2233 2008-01-20 Johan Dahlin <johan@gnome.org>
2235 * tests/test_gio.py (TestVolumeMonitor): New test
2238 * gio/ginputstream.override:
2241 * gio/goutputstream.override:
2242 * gio/gvolumemonitor.override:
2243 * gio/unix.override:
2246 Split out overrides into more files. Fix up module description in
2249 2008-01-20 Johan Dahlin <johan@gnome.org>
2251 * gio/gio.override (_wrap_g_simple_async_result_get_buffer): Add
2252 a new method, to fetch the buffer
2253 (_wrap_g_input_stream_read_async): Save a reference to the buffer.
2254 * tests/test_gio.py (TestInputStream.testReadAsync.callback):
2257 * tests/test_gio.py (TestInputStream.testReadAsyncError):
2258 New function to test error condition of async read.
2260 * gio/gio.override (async_result_callback_marshal): Grab a reference
2263 2008-01-19 Johan Dahlin <johan@gnome.org>
2265 * gio/gio.override (_wrap_g_output_stream_write): Impl.
2268 Add GUnixInputStream type and methods
2271 * tests/test_gio.py:
2274 * gio/gio.override (_wrap_g_app_info_get_all_for_type),
2275 (_wrap_g_app_info_get_all),
2276 (_wrap_g_drive_get_volumes): Implement.
2278 * gio/gio.override (async_result_callback_marshal): New marshaller
2280 (_wrap_g_input_stream_read_async): Impl.
2281 * gio/gio-types.defs: Add SimpleAsyncRequest
2282 * gio/giomodule.c: Register enums/constants
2284 * gio/gio.override: Fix a silly bug so it possible to read files
2285 larger than 8192 bytes.
2287 * gio/gio.defs: Set null-ok for all cancelable as well.
2289 * gio/__init__.py: set gio.unix to None if it's not available
2291 * gio/gio.override: Implement InputStream.read efficiently without
2292 copying the strings, based on the standard libararys file.read()
2295 * gio/gio-types.defs (Cancellable): Add wrapper.
2297 * gio/gio.defs (replace): Do not require cancellable argument
2298 to be specified, default to NULL if not.
2301 * codegen/Makefile.am:
2302 * codegen/README.defs:
2303 * codegen/__init__.py:
2304 * codegen/argtypes.py:
2305 * codegen/code-coverage.py:
2306 * codegen/codegen.py:
2307 * codegen/createdefs.py:
2308 * codegen/definitions.py:
2309 * codegen/defsconvert.py:
2310 * codegen/defsgen.py:
2311 * codegen/defsparser.py:
2312 * codegen/docextract.py:
2313 * codegen/docextract_to_xml.py:
2314 * codegen/docgen.py:
2316 * codegen/mergedefs.py:
2317 * codegen/missingdefs.py:
2318 * codegen/mkskel.py:
2319 * codegen/override.py:
2320 * codegen/pygtk-codegen-2.0.in:
2321 * codegen/reversewrapper.py:
2322 * codegen/scanvirtuals.py:
2323 * codegen/scmexpr.py:
2328 * gio/gio-types.defs:
2331 * gio/giomodule.c: (init_gio):
2332 * gio/unix-types.defs:
2334 * gio/unix.override:
2335 * gio/unixmodule.c: (initunix):
2337 Import codegen from pygtk.
2338 Add initial gio and gio.unix bindings.
2340 2008-01-11 Johan Dahlin <johan@gnome.org>
2342 * configure.ac: Don't link against libffi if we cannot find libffi
2343 on the system. (#496006, Ed Catmur)
2345 2008-01-03 Johan Dahlin <johan@gnome.org>
2347 Reviewed by: Gustavo
2350 * gobject/pygmainloop.c (pyg_signal_watch_prepare): Optinally
2351 use PySignal_SetWakeupFd to avoid having to do a timeout to find
2352 out if there are any pending signals from python.
2355 * configure.ac (CPPFLAGS):
2356 Include -Wall and -Werror when checking for PySignal_SetWakeupFd
2358 2008-01-02 Sebastian Rittau <srittau@jroger.in-berlin.de>
2360 * gobject/gobjectmodule.c
2361 * gobject/gobjectmodule.c (pyg_get_application_name)
2362 (pyg_get_prgname): Add wrappers for g_get_application_name and
2365 2007-11-30 Rafael Villar Burke <pachi@rvburke.com>
2367 * docs/reference/pygobject.xml: Add props attribute
2369 2007-11-24 Paolo Borelli <pborelli@katamail.com>
2371 * gobject/gobjectmodule.c (pyg_type_register): check for NULL before
2374 2007-11-24 Paolo Borelli <pborelli@katamail.com>
2376 * gobject/gobjectmodule.c (pyg_type_register): do not use a
2377 potentially uninitialized variable. Bug #499334.
2379 2007-11-12 Johan Dahlin <johan@gnome.org>
2381 * gobject/option.py (OptionParser.parse_args):
2382 Set the default value of old_args to 0, so we don't end
2383 up slicing with None. Fixes #496278 (Vincent Untz)
2385 2007-11-06 Johan Dahlin <johan@gnome.org>
2387 * gobject/option.py (OptionParser.parse_args): Merge in values
2388 from all groups to the global option group. Slice up args
2389 so it doesn't return too much.
2391 * tests/test_option.py: Refactor to be unittesty,
2392 Add new tests to test what options returns.
2394 2007-11-05 Johan Dahlin <johan@gnome.org>
2396 * gobject/pygobject.h:
2397 * gobject/gobjectmodule.c:
2398 Add pyg_option_group_new to the public API
2400 * configure.ac: Branch, bump version to 2.15.0.
2402 2007-10-16 Damien Carbery <damien.carbery@sun.com>
2404 reviewed by: Johan Dahlin.
2406 * pygobject-2.0-uninstalled.pc.in: uninstalled.pc file missing
2407 'datadir' value. Fixes #486876.
2409 2007-09-16 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2411 * configure.ac: Post-relase version bump.
2414 2007-09-16 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2416 * configure.ac: Bump version to 2.14.0.
2418 * NEWS: Update NEWS for next release.
2420 2007-09-06 John Finlay <finlay@moeraki.com>
2422 * docs/xsl/fixxref.py.in: Remove DATADIR substitution since it now
2423 gets substituted as ${prefix}/share which doesn't work in a Python
2426 2007-08-27 Johan Dahlin <jdahlin@async.com.br>
2428 * gobject/propertyhelper.py (property.__metaclass__.__repr__): Avoid
2429 exporting the metaclass, just define it where it will be used.
2431 * gobject/__init__.py (GObjectMeta._install_properties):
2432 Refactor a bit to make sure that it is possible to use in subclasses,
2433 fixes #470718 (Marco Giusti)
2435 2007-08-27 Marco Giusti <marco.giusti@gmail.com>
2437 reviewed by: Gustavo J. A. M. Carneiro
2439 * gobject/propertyhelper.py:
2440 * tests/test_properties.py:
2441 Bug 470230 – check for default value in boolean type is wrong.
2443 2007-08-27 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2445 * tests/Makefile.am,
2446 * gobject/Makefile.am: Remove -D_XOPEN_SOURCE=600
2447 -D__EXTENSIONS__, no longer needed.
2449 * configure.ac: Don't add -std=c9x CFLAG on Solaris. Fixes
2452 * gobject/pygtype.c (pyg_type_wrapper_repr): Typecast self->type
2453 to (unsigned long int) to fix a compilation warning.
2455 2007-08-14 Ed Catmur <ed@catmur.co.uk>
2457 reviewed by: Gustavo J. A. M. Carneiro
2459 * gobject/pygobject.c (pygobject_new_full, pygobject_clear),
2460 (pygobject_get_dict): Bug 466082 – pygobject_new_full not fully
2461 initialising PyGObject, chaos results.
2463 2007-08-13 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2465 * tests/test_subtype.py (TestSubType.testGetDict): Add unit test
2466 exercising a bug when GObject.__dict__ is accessed directly.
2468 2007-07-08 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2470 * gobject/gobjectmodule.c (pygobject_functions)
2471 (pyg_timeout_add_seconds): Wrap g_timeout_add_seconds,
2472 conditionally compiled if glib version >= 2.13.5.
2474 2007-07-08 Johannes Hölzl <johannes.hoelzl@gmx.de>
2476 reviewed by: Gustavo Carneiro
2478 * gobject/gobjectmodule.c (build_gerror, init_gobject): Work
2479 around the deprecation warning of BaseException.message in Python
2480 2.6+ affecting GError exceptions. Fixes #342948.
2482 2007-07-07 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2484 * configure.ac: Post-release version bump.
2487 2007-07-07 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2491 2007-07-07 Damien Carbery <damien.carbery@sun.com>
2493 reviewed by: Gustavo Carneiro.
2495 * configure.ac: Bug 339924 – pygobject doesn't compile on opensolaris.
2497 2007-04-30 Johannes Hölzl <johannes.hoelzl@gmx.de>
2499 * gobject/gobjectmodule.c (init_gobjectmodule),
2500 * gobject/pygoptiongroup.c (arg_func),
2501 * gobject/option.py (OptionParser._parse_args, OptionGroup._to_goptiongroup),
2502 * tests/test_option.py: OptParse-Exceptions in GOption-callbacks
2503 are now convertet into an GError. GError from the
2504 GOptionGroup.run is convertet into an OptParse-Exception.
2507 2007-07-06 Ed Catmur <ed@catmur.co.uk>
2509 * gobject/pygtype.c (pyg_param_gvalue_from_pyobject),
2510 (pyg_param_gvalue_as_pyobject): Applied patch from Ed Catmur to
2511 support G_TYPE_VALUE boxed args/signals, and add a test, Fixes
2514 2007-07-06 Carlos Martin <inean@users.sf.net>
2516 * tests/test_gtype.py:
2517 * tests/testhelpermodule.c: add test for #351072
2519 2007-07-04 Murray Cumming <murrayc@murrayc.com>
2521 * gobject/pygobject.c: (pygobject_switch_to_toggle_ref):
2522 * gobject/pygobject.h: Rename the private struct field to
2523 private_flags, because private is a C++ keyword, so this broke
2524 builds of some C++ applications, such as Glom.
2526 2007-07-02 Sebastian Granjoux <seb.sfo@free.fr>
2528 reviewed by: Johan Dahlin
2530 * gobject/gobjectmodule.c: (pyg_gerror_exception_check):
2531 * tests/test_gtype.py:
2532 * tests/testhelpermodule.c: (_wrap_test_gerror_exception):
2534 Fix a bug in pyg_error_exception_check, add a test, Fixes #449879
2536 2007-06-17 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2538 * gobject/pygobject.h: Add a flags field to PyGObject; uses
2539 structure space formerly occupied by the now stale "GSList
2542 * gobject/pygobject.c (pygobject_switch_to_toggle_ref): Do nothing
2543 if the wrapper is already in toggle reference mode. Closes #447271.
2545 * tests/test_subtype.py: Test case for #447271.
2547 2007-06-17 Sebastien Bacher <seb128@ubuntu.com>
2549 * m4/python.m4: use python-config to get python includes
2552 2007-06-16 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2554 * gobject/propertyhelper.py,
2555 * tests/test_properties.py: Support type=GObject or
2556 type=TYPE_OBJECT in the new properties API.
2558 2007-06-06 Yevgen Muntyan <muntyan@tamu.edu>
2562 * gobject/generate-constants.c: Return 0 from main().
2564 * gobject/Makefile.am: use generate-constants$(EXEEXT) instead
2565 of generate-constants in the constants.py target rule.
2567 2007-05-30 Yevgen Muntyan <muntyan@tamu.edu>
2569 reviewed by: Gustavo Carneiro
2571 * autogen.sh: Allow running autogen.sh from outside $srcdir.
2573 2007-05-09 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2575 * tests/Makefile.am (INCLUDES): Idem.
2577 * gobject/Makefile.am (INCLUDES): Add -D_XOPEN_SOURCE=600 and
2578 -D__EXTENSIONS__ to make it compile with c99 and Sun C compiler.
2580 Fixes #339924: gnome-python doesn't compile on opensolaris.
2582 2007-05-02 Johan Dahlin <jdahlin@async.com.br>
2584 * configure.ac: Post-release version bump.
2587 2007-05-02 Johan Dahlin <jdahlin@async.com.br>
2589 * pygobject-2.0-uninstalled.pc.in: Add libdir.
2590 Fixes #435132 (Luca Ferretti)
2592 2007-05-01 Johan Dahlin <johan@gnome.org>
2594 * gobject/propertyhelper.py:
2595 * tests/test_properties.py:
2597 Store property values in the descriptor per instance, add a test.
2599 * examples/properties.py:
2600 * gobject/Makefile.am:
2601 * gobject/__init__.py:
2602 * gobject/constants.py.in:
2603 * gobject/generate-constants.c: (main):
2604 * gobject/propertyhelper.py:
2605 * tests/Makefile.am:
2606 * tests/test_enum.py:
2607 * tests/test_interface.py:
2608 * tests/test_properties.py:
2610 Add a property helper, fixes #338098
2612 2007-04-30 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
2614 * tests/common.py (importModules): Import testhelper first so that
2615 g_thread_init is called before init_pygobject.
2617 * tests/testhelpermodule.c (inittesthelper): Call g_thread_init
2618 before init_pygobject.
2620 * tests/test_subtype.py (TestSubType.testDescriptor): Unit test
2623 * gobject/pygobject.c (pygobject_setattro): Account for the case
2624 when attribute setting doesn't actually create an instance
2625 dictionary, in which case pygobject_switch_to_toggle_ref would be
2626 called twice, thereby causing gobject error.
2629 2007-04-29 James Livingstone <doclivingstone@gmail.com>
2631 reviewed by: Johan Dahlin <johan@gnome.org>
2633 * gobject/pygtype.c: (pyg_value_from_pyobject):
2634 * tests/test_signal.py:
2636 Add a missing else to avoid throwing a TypeError.
2637 Includes a test written by Ed Catmur.
2640 2007-04-29 Johan Dahlin <johan@gnome.org>
2642 * gobject/pygtype.c: (pyg_value_array_from_pyobject):
2643 * tests/test_gtype.py:
2644 * tests/testhelpermodule.c: (_wrap_test_value_array):
2646 Treat None in a GValueArray as pointer/NULL, patch by
2647 Ed Catmur, fixes #352209.
2649 2007-04-29 Loïc Minier <lool+gnome@via.ecp.fr>
2651 reviewed by: Johan Dahlin <johan@gnome.org>
2655 Use dirname $0 instead of pwd to compute srcdir in autogen,
2658 2007-04-29 Damien Carbery <damien.carbery@sun.com>
2660 reviewed by: Johan Dahlin <johan@gnome.org>
2662 * tests/test-unknown.c: (test_interface_iface_method):
2664 Do not return in a void function, fixes #385127
2666 2007-04-29 Johan Dahlin <johan@gnome.org>
2668 * gobject/pygflags.c: (pyg_flags_from_gtype):
2669 Fix leak, patch by Daniel Berrange. Fixes #428726 (Phil Dumont)
2671 2007-04-29 Damien Carbery <damien.carbery@sun.com>
2673 reviewed by: Johan Dahlin <johan@gnome.org>
2676 * pygobject-2.0-uninstalled.pc.in:
2678 Add an uninstalled pkg-config file, fixes #385129
2680 2007-04-29 Johan Dahlin <johan@gnome.org>
2684 * gobject/Makefile.am:
2685 * gobject/ffi-marshaller.c: (g_value_to_ffi_type),
2686 (g_value_from_ffi_type), (g_cclosure_marshal_generic_ffi):
2687 * gobject/ffi-marshaller.h:
2688 * gobject/gobjectmodule.c: (create_signal), (init_gobject):
2689 * pygobject-2.0.pc.in:
2690 * tests/test_signal.py:
2691 * tests/testhelpermodule.c: (test1_callback),
2692 (test1_callback_swapped), (test2_callback), (test3_callback),
2693 (test4_callback), (test_float_callback), (test_double_callback),
2694 (test_string_callback), (test_object_callback), (connectcallbacks),
2695 (_wrap_connectcallbacks), (inittesthelper):
2697 Add a generic CClosure marshaller based on ffi.
2698 This makes it possible to connect to signals on PyGObjects from C.
2699 libffi is now an optional dependency
2700 Fixes #353816 (Edward Hervey)
2702 2007-04-23 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
2704 * configure.ac: Post-release version bump.
2707 2007-04-23 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
2709 * configure.ac: Bump version to 2.13.0.
2711 * tests/test_properties.py (TestProperties.testMulti): Unit test
2712 for get/set_properties.
2714 2007-04-23 Gian Mario Tagliaretti <gianmt@gnome.org>
2716 * gobject/pygobject.c: Implemented pygobject_set_properties and
2717 pygobject_get_properties in order to set multiple properties using
2718 keyword arguments. Fixes 403212
2720 * docs/reference/pygobject.xml: Docs for the above new methods.
2722 2007-04-14 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2724 * gobject/gobjectmodule.c, gobject/pygobject.h: Add a new
2725 pyg_gerror_exception_check API. Fixes #425242.
2727 * gobject/gobjectmodule.c (pyg_set_application_name)
2728 (pyg_set_prgname): Add wrappers for g_set_application_name and
2729 g_set_prgname. Patch by Havoc Pennington. Fixes #415853.
2731 * gobject/pygobject.h: Bug #419379: Modernize init_pygobject: use
2732 static inline functions instead of macros.
2734 * gobject/gobjectmodule.c (init_gobject):
2735 * gobject/pygobject-private.h:
2736 * gobject/pygobject.c (pygobject_data_free, pygobject_data_new),
2737 (pygobject_get_inst_data, pyg_toggle_notify),
2738 (pygobject_switch_to_toggle_ref),
2739 (pygobject_register_wrapper_full, pygobject_register_wrapper),
2740 (pygobject_new_full, pygobject_unwatch_closure),
2741 (pygobject_watch_closure, pygobject_dealloc, pygobject_repr),
2742 (pygobject_traverse, pygobject_clear, pygobject_weak_ref),
2743 (pygobject_setattro, pygobject_weak_ref_traverse),
2744 (pygobject_weak_ref_notify, pygobject_weak_ref_clear),
2745 (pygobject_weak_ref_dealloc, pygobject_weak_ref_new),
2746 (pygobject_weak_ref_unref, pygobject_weak_ref_call):
2747 * gobject/pygobject.h:
2748 * gobject/pygtype.c (gclosure_from_pyfunc):
2749 * tests/test_subtype.py:
2750 Bug #320428: Break PyGObject<->GObject reference cycle (patch
2751 v7.1; thanks John Ehresman for the help with this patch).
2753 2007-03-17 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2755 * gobject/pygobject.c (pygobject_emit): Fix %ld vs int warning.
2756 (pygobject_chain_from_overridden): Idem.
2758 2007-03-06 Richard Hult <richard@imendio.com>
2760 * configure.ac: Fix the docs option so that it's possible to disable
2763 2007-03-03 Edward Hervey <edward@fluendo.com>
2765 * gobject/pygobject.c: (set_property_from_pspec):
2766 Release the GIL when calling g_object_set_property, since setting a
2767 property might trigger some code that might come back in python land.
2770 2007-01-09 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2772 * configure.ac: Turn the option --disable-docs into --enable-docs.
2773 * docs/Makefile.am: Tread --enable-docs like --enable-gtk-doc in
2774 gtk+, i.e. do not ever build docs unless requested, but always
2775 install them if they are found already built.
2777 2006-12-14 Kjartan Maraas <kmaraas@gnome.org>
2779 * autogen.sh: Make this work with automake 1.10 too.
2781 2006-11-18 Johan Dahlin <jdahlin@async.com.br>
2783 * configure.ac: Post release version bump
2786 2006-11-18 Johan Dahlin <jdahlin@async.com.br>
2790 * gobject/pygoptiongroup.c (pyg_option_group_dealloc):
2791 * tests/test_option.py (TestOption.testBadConstructor):
2792 Make sure an exception is raised when we pass in invalid arguments
2793 to the optiongroup constructor, add a test. #364576 (Laszlo Pandy)
2795 * gobject/pygobject.c (pygobject_register_class): set __module__ on
2796 gobject derived types, fixes #376099 (Osmo Salomaa)
2798 2006-11-18 Yevgen Muntyan <muntyan@tamu.edu>
2800 reviewed by: Johan Dahlin <johan@gnome.org>
2802 * gobject/gobjectmodule.c: (create_property):
2803 * gobject/pygparamspec.c: (pyg_param_spec_getattr):
2804 * tests/test_properties.py:
2806 Avoid truncating in pyg_param_spec_getattr, add test for all non-float
2807 numeric types. Fixes #353943
2809 2006-11-18 Johan Dahlin <jdahlin@async.com.br>
2811 * gobject/pygtype.c (gclosure_from_pyfunc): Use PyObject_Cmp instead
2812 of comparing function closure addresses, which makes it possible
2813 to use any callable and not just functions.
2814 Fixes #375589 (Dima)
2816 2006-10-13 John Finlay <finlay@moeraki.com>
2818 * docs/Makefile.am (HTML_FILES): Remove
2819 html/pygobject-reference-copyright.html.
2820 Fixes #361906 (Marc-Andre Lureau)
2822 2006-10-11 John Finlay <finlay@moeraki.com>
2824 * docs/reference/pygobject-introduction.xml: Remove Copyright and
2827 * docs/reference/pygobject-ref.xml: Remove author info
2829 2006-10-05 Cedric Gustin <cedric.gustin@gmail.com>
2831 * dsextras.py (Template) (TemplateExtension): Add
2832 py_ssize_t_clean flag to be passed to codegen.SourceWriter.
2834 2006-10-04 Cedric Gustin <cedric.gustin@gmail.com>
2836 * Makefile.am: Add pygobject_postinstall.py to EXTRA_DIST.
2838 2006-10-03 Johan Dahlin <jdahlin@async.com.br>
2840 * configure.ac: Post release version bump
2843 2006-10-03 Johan Dahlin <jdahlin@async.com.br>
2846 * configure.ac: 2.12.2
2848 2006-10-03 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2850 * gobject/Makefile.am:
2851 * gobject/gobjectmodule.c: (add_signals), (add_properties),
2852 (pyg_signal_new), (pyg_object_new), (get_handler_priority),
2853 (pyg_io_add_watch), (pyg_spawn_async), (pyg_add_emission_hook),
2854 (pyg_remove_emission_hook), (pyg_filename_from_utf8),
2855 (_pyg_strv_to_gvalue):
2856 * gobject/pygiochannel.c: (py_io_channel_write_chars),
2857 (py_io_channel_write_lines):
2858 * gobject/pygobject-private.h:
2859 * gobject/pygobject.c: (PyGProps_length), (pygobject_init),
2860 (pygobject_connect), (pygobject_connect_after),
2861 (pygobject_connect_object), (pygobject_connect_object_after),
2862 (pygobject_disconnect), (pygobject_handler_is_connected),
2863 (pygobject_handler_block), (pygobject_handler_unblock),
2864 (pygobject_emit), (pygobject_chain_from_overridden):
2865 * gobject/pygoptioncontext.c: (pyg_option_context_parse):
2866 * gobject/pygtype.c: (pyg_value_from_pyobject):
2868 Python 2.5 and 64 bits fixes (Py_ssize_t), closes bug #338487.
2870 * gobject/pygenum.c (pyg_enum_repr): Const warning fix.
2872 2006-09-29 Johan Dahlin <jdahlin@async.com.br>
2874 * pygtk.py: LGPL, not GPL header
2876 2006-09-24 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2878 * gobject/pygobject.h (init_pygobject_check): Add parentheses
2879 "around && within ||" to please gcc.
2881 2006-09-21 Cedric Gustin <cedric.gustin@gmail.com>
2883 * dsextras.py: Catch ImportError exception when codegen is not
2884 available: disable Template and TemplateExtension, redirect the
2885 user to the pygtk installer and raise a NameError
2886 exception. check_date has also been rewritten and now uses
2887 distutils.dep_util.newer_group(). defs files can also be built
2888 using createdefs by passing tuples as keyword argument to Template
2889 (see for example the gdk and gtk templates in setup.py).
2890 * setup.py: Changed the way the VERSION macro is defined on win32.
2891 Also install the html reference documentation, the xsl files and
2893 * pygobject_postinstall.py: Set the value of DATADIR in
2894 fixxref.py. Add functions to install shortcuts in the Start menu
2895 to the reference manual (currently disabled: see bug #353849).
2897 2006-09-16 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2899 * tests/test_signal.py (TestEmissionHook.testCallbackReturnFalse)
2900 (TestEmissionHook.testCallbackReturnTrue)
2901 (TestEmissionHook.testCallbackReturnTrueButRemove): Add a few more
2902 emission hook tests.
2904 * gobject/gobjectmodule.c (pyg_add_emission_hook): One too many
2905 DECREF on 'extra_args'.
2907 2006-09-12 John Ehresman <jpe@wingware.com>
2909 * gobject/pygobject.h (init_pygobject_check): Declare variables
2910 at start of code block
2912 2006-09-06 Johan Dahlin <jdahlin@async.com.br>
2914 * gobject/pygmainloop.c (pyg_signal_watch_prepare): Increase the timeout
2915 to 1000ms instead of 100.
2918 2006-09-04 Johan Dahlin <jdahlin@async.com.br>
2920 * gobject/pygobject.h (_PYGOBJECT_H_): Corrected version check,
2921 (Sebastian Dröge, #354364)
2923 * configure.ac: Post release version bump
2926 2006-09-04 Johan Dahlin <jdahlin@async.com.br>
2929 * configure.ac: 2.12.0
2931 2006-08-28 Johan Dahlin <jdahlin@async.com.br>
2933 * docs/Makefile.am: Install html files regardless even when passing
2934 in --disable-docs, fixes #353159 (Matthias Clasen)
2936 2006-08-27 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2938 * configure.ac: Post-release version bump.
2941 2006-08-27 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2945 * gobject/gobjectmodule.c (pyg_type_register): Correct a bug in
2946 the code that checks if parent already implements an interface or not.
2948 * tests/test-unknown.c (test_interface_base_init),
2949 (test_interface_get_type): Add a property to the interface, for
2951 (test_unknown_get_property),
2952 (test_unknown_set_property, test_unknown_class_init): Add a
2953 property to the class as required by the interface.
2955 * tests/test_interface.py: More thorough interface testing, with
2956 properties and test both the case of implementing an interface
2957 from scratch, and re-implementing and interface that a parent
2960 2006-08-27 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2962 * gobject/gobjectmodule.c (pygobject__g_instance_init): If
2963 necessary, attach the GObject to the PyGObject here.
2964 (pygobject_constructv): Cope with the fact that wrapper->obj may
2965 have already been set due to the change above.
2967 * tests/test_signal.py: Add test case fixed by the changes above,
2968 basically calling self.emit() inside do_set_property called
2969 implicitly by the constructor due to a CONSTRUCT property.
2971 Fixes bug 353039: "Failure in signal emission during
2972 do_set_property invoked from constructor".
2974 2006-08-26 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2976 * gobject/gobjectmodule.c (pyg_type_register): Fix type
2977 registration once more to account for all corner cases. This time
2978 we register interfaces in two stages: first, before properties and
2979 signals are registered, we register the interfaces that are
2980 already implemented in the parent type and are being overridden;
2981 second, after registration of properties and signals, we register
2982 the remaining interfaces.
2984 2006-08-21 Johan Dahlin <jdahlin@async.com.br>
2986 * docs/Makefile.am (EXTRA_DIST): Remove build_stamp, include generated .html
2987 in the distributed tarball. Remove builddate.xml, reference directory and fixxref.py
2988 dependencies to avoid regenerating the tarball when it's not needed.
2990 * configure.ac: Post release version bump
2993 2006-08-21 Johan Dahlin <jdahlin@async.com.br>
2999 Always install the xsl files & css files, regardless if the
3000 documentation was actually built or not. Also clean it up considerably.
3002 2006-08-17 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3004 * gobject/gobjectmodule.c (pyg_type_register): Move the interface
3005 registration code up, to run before properties and signals
3006 registration, because glib doesn't allow us to add interfaces
3007 after the first call to g_class_ref.
3009 2006-08-16 John Finlay <finlay@moeraki.com>
3011 * docs/reference/pygobject-functions.xml: Update docs for
3014 2006-08-15 Murray Cumming <murrayc@murrayc.com>
3016 * gobject/pygobject-private.h:
3017 * gobject/pygobject.h:
3018 Replace uses of typename with type_name, because that is a
3019 reserved C++ keyword. This was breaking compilation of Glom
3020 due its use in the new type_register_custom function pointer in
3023 2006-08-12 John Finlay <finlay@moeraki.com>
3025 * pygobject-2.0.pc.in: Add reference to installed pygobject docs
3026 * docs/Makefile.am: Add install of style.css
3027 * docs/xsl/html.xsl: Define stylesheet as style.css
3028 * docs/style.css: Add.
3030 2006-08-10 John Finlay <finlay@moeraki.com>
3032 * docs/reference/entities.docbook.in:
3033 * docs/reference/pygobject-ref.xml:
3036 Use builddate.xml for the builddate entity and have builddate.xml be
3037 updated when the docs are built not during configure time.
3039 2006-08-08 Johan Dahlin <jdahlin@async.com.br>
3041 * configure.ac: Post release version bump.
3044 2006-08-08 Johan Dahlin <jdahlin@async.com.br>
3048 2006-08-07 Johan Dahlin <jdahlin@async.com.br>
3050 * docs/Makefile.am ($(HTML_DATA)): Fix parallel build
3051 (#350225, Ed Catmur)
3053 2006-08-06 Johan Dahlin <johan@gnome.org>
3055 * m4/as-expand.m4: New file to workaround automake silliness
3057 * docs/xsl/fixxref.py.in: New script
3059 * docs/Makefile.am (XSLFILES): Add fixxref.py script, moved in from
3062 * docs/xsl/html.xsl: Do not use shade.verbatim, set the background
3063 color and border as a normal html tag to avoid an external
3066 2006-08-04 Johan Dahlin <jdahlin@async.com.br>
3068 * configure.ac: Post release version bump
3071 2006-08-04 Johan Dahlin <jdahlin@async.com.br>
3075 * README: Update, some s/PyGTK/PyGObject/
3079 * docs/reference/.cvsignore:
3080 * docs/reference/entities.docbook.in:
3081 * docs/reference/pygobject-ref.xml:
3082 Clean up the build date/version mess I created.
3083 Now it's created during configure time and properly included in
3084 the docbook files. Also make sure distcheck passes
3086 2006-08-04 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3088 * configure.in: Add hack to disable libtool checking for g++ and
3089 g77 (copied from libglade).
3091 2006-07-29 John Finlay <finlay@moeraki.com>
3093 * gobject/pygobject.h (pyg_param_gvalue_from_pyobject): Fix define
3094 to point to the correct function pointer field.
3096 2006-07-29 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3098 * gobject/pygflags.c (pyg_flags_add): idem.
3100 * gobject/pygenum.c (pyg_enum_add): Give a more explicit error
3101 message when the gtype is not an enum.
3103 2006-07-25 Johan Dahlin <jdahlin@async.com.br>
3105 * gobject/pygobject.h (init_pygobject_check): Add a macro to easily
3106 check the installed pygobject version.
3108 * gobject/pygflags.c (pyg_flags_add)
3109 * gobject/pygenum.c (pyg_enum_add): Duplicate the string before
3110 sending it to python. Fixes GCC warnings.
3112 2006-07-24 John Finlay <finlay@moeraki.com>
3114 * gobject/pygflags.c (pyg_flags_get_first_value_name)
3115 (pyg_flags_get_first_value_nick): Avoid segfault when
3116 g_flags_get_first_value returns NULL.
3118 2006-07-20 John Finlay <finlay@moeraki.com>
3120 * docs/Makefile.am: Make version.xml dependent on config.h
3121 Make builddate.xml dependent on REFERENCE_DEPS. Add builddate.xml to
3122 build_stamp and pdf dependencies. Add pdf files to cleanup.
3124 2006-07-20 Johan Dahlin <jdahlin@async.com.br>
3128 * docs/reference/.cvsignore:
3129 * docs/reference/version.xml.in:
3130 Generate builddate.xml and version.xml at build time instead on
3131 configure time, add proper dependencies.
3133 2006-07-19 John Finlay <finlay@moeraki.com>
3135 * docs/Makefile.am: Use more portable date generator.
3137 * docs/xsl/ref-html-style.xsl: Add book to list of indexed items.
3139 * docs/xsl/html.xsl: Output xref links for unknown links.
3141 * docs/xsl/ref-html-style.xsl: Include refsect1 and refsect2 in
3142 indexed items but only if they have ids.
3144 * configure.ac (AC_CONFIG_FILES) : Add docs/reference/version.xml
3146 * docs/reference/pygobject-ref.xml: Add pygobject-introduction.xml
3147 and version and builddate entities. Remove commented out items.
3149 * docs/Makefile.am: Add reference/pygobject-introduction.xml and
3150 reference/version.xml.in
3152 2006-07-18 Johan Dahlin <johan@gnome.org>
3154 * docs/Makefile.am (HTMLdir): Install book in $datadir/gtk-doc/html
3156 2006-07-13 Johan Dahlin <jdahlin@async.com.br>
3158 * gobject/gobjectmodule.c: (pyg_type_from_name),
3159 (get_type_name_for_class):
3160 * gobject/pygobject-private.h:
3161 * gobject/pygobject.c: (pygobject_new_with_interfaces),
3162 (pygobject_lookup_class), (pygobject_emit):
3163 * gobject/pygobject.h:
3164 * gobject/pygtype.c: (_wrap_g_type_from_name),
3165 (pyg_type_from_object), (pyg_type_register_custom_callback),
3166 (pyg_type_get_custom), (_pyg_type_from_name):
3167 Add infrastructure for lazy type registration, fixes #346947
3169 2006-07-13 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
3171 * m4/python.m4: Properly quote AM_CHECK_PYMOD definition.
3173 * gobject/pygoptioncontext.c (pyg_option_context_parse): Fix mem
3176 2006-07-12 Johan Dahlin <jdahlin@async.com.br>
3185 * docs/pdf-style.xsl:
3187 * docs/ref-html-style.xsl:
3188 * docs/reference/.cvsignore:
3189 * docs/reference/pygobject-classes.xml:
3190 * docs/reference/pygobject-constants.xml:
3191 * docs/reference/pygobject-functions.xml:
3192 * docs/reference/pygobject-gboxed.xml:
3193 * docs/reference/pygobject-ginterface.xml:
3194 * docs/reference/pygobject-gpointer.xml:
3195 * docs/reference/pygobject-maincontext.xml:
3196 * docs/reference/pygobject-mainloop.xml:
3197 * docs/reference/pygobject-ref.xml:
3198 * docs/reference/pygobject.xml:
3199 Import GObject part of John Finlay's PyGTK Reference Manual, copy
3200 over infrastructure from the pygtk-web module.
3202 2006-07-12 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
3204 * configure.ac: Post-release version bump to 2.11.1.
3206 === PyGObject 2.11.0 ===
3207 2006-07-09 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3209 * gobject/gobjectmodule.c (pyg_type_register): Make interface_data
3210 point to the python type before adding the interface to the new
3211 type. This should fix interface implementation (actually I
3212 thought such code had already been added earlier but can't find it
3213 now and it is obviously needed...)
3214 (pyg_type_register): move the code that needs g_type_class_ref
3215 until after interface registration (more code that I already wrote
3216 in the past but got lost).
3218 2006-07-05 John Finlay <finlay@moeraki.com>
3220 * gobject/pygiochannel.c (py_io_channel_init): Fix message typo.
3222 2006-06-28 Cedric Gustin <cedric.gustin@gmail.com>
3224 * dsextras.py (InstallData): Set datarootdir in .pc file.
3226 * pygobject_postinstall.py (replace_prefix): Do not parse
3227 pygtk-codegen-2.0 as it is part of pygtk.
3229 * setup.py: Create gobject extension as gobject._gobject. Add
3230 pygoptioncontext.c and pygoptiongroup.c to the list of source
3231 files. Add option.py to the module files. Changed name of
3232 distutils package from pygtk to pygobject.
3234 2006-06-24 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3236 * gobject/gobjectmodule.c (pyg_filename_from_utf8): Wrap
3237 g_filename_from_utf8.
3239 * tests/test_signal.py (TestClosures.testGString): Add unit test
3240 for signals using the type TYPE_GSTRING.
3242 * gobject/pygtype.c (pyg_value_as_pyobject)
3243 (pyg_value_from_pyobject): Implement conversion code for the type
3246 * gobject/gobjectmodule.c (pyg_filename_display_basename)
3247 (pyg_filename_display_name): Add bindings for
3248 g_filename_display_basename and g_filename_display_name.
3249 (init_gobject): Add a TYPE_GSTRING definition.
3251 * gobject/pygobject.h,
3252 * gobject/pygobject-private.h: Make pyg_constant_strip_prefix
3253 receive and return const gchar*, to indicate it does not change
3254 the string. Unfortunately since PyModule_AddIntConst is broken in
3255 python < 2.5 this introduces const warnings elsewhere :-(
3257 * gobject/gobjectmodule.c (pyg_flags_add_constants)
3258 (pyg_enum_add_constants): Fix const warnings.
3260 2006-06-23 John Finlay <finlay@moeraki.com>
3262 * gobject/gobjectmodule.c (pyg_object_class_list_properties)
3263 (pyg_signal_list_ids, pyg_signal_lookup, pyg_signal_query): Add
3264 support for retrieving signal and propertie info from interface types.
3266 2006-06-04 Johan Dahlin <johan@gnome.org>
3268 * gobject/gobjectmodule.c (pyg_spawn_async)
3269 (pyg_signal_new): Fix two leaks in error cases, found by
3272 2006-05-28 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3274 * tests/test_subtype.py: Uncomment Johan's "subsubtype" test case.
3276 * gobject/gobjectmodule.c (pygobject__g_instance_init): Pass the
3277 g_class to pygobject_new_full, because during the instance init
3278 function instances are temporarily assigned the parent's GType.
3280 * gobject/pygobject-private.h,
3281 * gobject/pygobject.c (pygobject_new_full): Make
3282 pygobject_new_full accept an optional g_class parameter; If
3283 present, the GType is extracted from the class instead of from the
3286 2006-05-20 Yevgen Muntyan <muntyan@tamu.edu>
3288 reviewed by: Gustavo Carneiro
3290 * gobject/pygobject.c (pygobject_init, pygobject_get_property),
3291 (pygobject_set_property): Bug 341174: Be more specific in
3292 set/get_property error messages.
3294 2006-05-07 Yevgen Muntyan <muntyan@tamu.edu>
3296 reviewed by: Gustavo Carneiro
3298 * gobject/gobjectmodule.c (_log_func, add_warning_redirection),
3299 (remove_handler, disable_warning_redirections, init_gobject):
3300 * gobject/pygobject.h: Add new pyg_add_warning_redirection and
3301 pyg_disable_warning_redirections APIs (bug #323786 again).
3303 2006-05-07 Johan Dahlin <johan@gnome.org>
3305 * Makefile.am (CLEANFILES): Remove pygtk.py, it's not
3306 auto-generated any longer. Thanks to Kjartan for noticing.
3308 2006-05-07 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3310 * gobject/pygoptioncontext.c:
3311 s/sizeof(PyGMainContext)/sizeof(PyGOptionContext)/ (copy-paste error).
3313 2006-05-01 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3315 * gobject/gobjectmodule.c (pyg_pid_close): Add a close() method
3316 to the GPid wrapper.
3318 * gobject/gobjectmodule.c (pyg_pid_free, pyg_pid_new),
3319 (pyg_spawn_async, init_gobject): Wrap GPid in an object whose
3320 destructor calls g_spawn_close_pid. Fixes #340160.
3322 2006-04-29 Johannes Hölzl <johannes.hoelzl@gmx.de>
3324 reviewed by: Johan Dahlin <jdahlin@async.com.br>
3326 * examples/Makefile.am:
3327 * examples/option.py:
3328 * gobject/Makefile.am:
3329 * gobject/gobjectmodule.c: (init_gobject):
3330 * gobject/option.py:
3331 * gobject/pygobject-private.h:
3332 * gobject/pygoptioncontext.c: (pyg_option_context_init),
3333 (pyg_option_context_dealloc), (pyg_option_context_parse),
3334 (pyg_option_context_set_help_enabled),
3335 (pyg_option_context_get_help_enabled),
3336 (pyg_option_context_set_ignore_unknown_options),
3337 (pyg_option_context_get_ignore_unknown_options),
3338 (pyg_option_context_set_main_group),
3339 (pyg_option_context_get_main_group),
3340 (pyg_option_context_add_group), (pyg_option_context_compare),
3341 (pyg_option_context_new):
3342 * gobject/pygoptiongroup.c: (check_if_owned), (destroy_g_group),
3343 (pyg_option_group_init), (pyg_option_group_dealloc), (arg_func),
3344 (pyg_option_group_add_entries),
3345 (pyg_option_group_set_translation_domain),
3346 (pyg_option_group_compare), (pyg_option_group_transfer_group),
3347 (pyg_option_group_new):
3348 * tests/test_option.py:
3350 Add support for GOption, fixes #163645
3352 2006-04-29 Johan Dahlin <jdahlin@async.com.br>
3354 * gobject/pygtype.c (gclosure_from_pyfunc):
3356 * gobject/pygobject.c (pygobject_disconnect_by_func)
3357 (pygobject_handler_block_by_func)
3358 (pygobject_handler_unblock_by_func):
3360 * tests/test_signal.py (TestEmissionHook._callback):
3362 Fix #154845, add tests and a private method.
3364 2006-04-23 John Ehresman <jpe@wingware.com>
3366 reviewed by: Gustavo
3371 Bug 338945: Make pygtk.py relocatable
3373 2006-04-18 John Ehresman <jpe@wingware.com>
3375 * dsextras.py: Add compiler / linker flags from pkgconfig-2.0.pc
3376 by default, with an override mechanism. Filter out -lc & -lm if
3377 compiling with msvc.
3379 * setup.py: Change C extension name to _gobject and don't use the
3380 pkgconfig-2.0.pc when compiling
3382 2006-04-15 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3384 * gobject/__init__.py (_PyGObject_API): Copy _PyGObject_API from
3385 gobject._gobject into gobject in order to preserve binary
3386 compatibility with 3rd party modules.
3388 * gobject/pygobject.h (init_pygobject): Import gobject, gobject._gobject.
3390 * gobject/Makefile.am: Fix pygobject installation dir: install
3391 both _gobject.la and __init__.py into
3392 $(pyexecdir)/gtk-2.0/gobject.
3394 2006-04-11 Johan Dahlin <jdahlin@async.com.br>
3396 * gobject/gobjectmodule.c (init_gobject):
3397 * gobject/__init__.py:
3398 Move over almost all GType constants from C to Python.
3400 2006-04-11 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3402 * gobject/__init__.py:
3403 * gobject/gobjectmodule.c (_wrap_pyg_type_register),
3404 (pyg__install_metaclass, init_gobject): GObjectMeta now moved to
3405 python-land (__init__.py).
3407 * gobject/pygobject-private.h:
3408 * gobject/pygobject.c (pygobject_register_class):
3409 PyGObject_MetaType is now a pointer, not structure.
3411 * gobject/gobjectmodule.c (_wrap_pyg_type_register): Add optional
3412 type name parameter.
3414 * tests/common.py (importModule): Include original exception
3415 string in the raised SystemExit.
3417 2006-04-11 Johan Dahlin <jdahlin@async.com.br>
3419 * gobject/.cvsignore:
3420 * gobject/Makefile.am:
3421 * gobject/__init__.py:
3422 * gobject/gobjectmodule.c: (init_gobject):
3423 * gobject/pygobject.h:
3424 * tests/Makefile.am:
3427 Turn gobject into a package; move _gobject to gobject._gobject and
3428 add gobject/__init__.py. Update macros and testsuite.
3430 2006-04-11 Johan Dahlin <jdahlin@async.com.br>
3432 * configure.ac: Post release version bump
3434 === PyGObject 2.10.1 ===
3435 2006-04-11 Johan Dahlin <jdahlin@async.com.br>
3439 2006-04-11 Andy Wingo <wingo@pobox.com>
3441 reviewed by: Johan Dahlin <jdahlin@async.com.br>
3443 * gobject/gobjectmodule.c (create_property): Parse unsigned int64
3444 constraints in param spec declaration using the "K" ParseTuple
3445 format unit, not L -- allows the full range of the datatype to be
3446 parsed. K format unit added in python 2.3.
3448 2006-04-01 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3450 * tests/test_properties.py: Add test for #335854.
3452 * pygtk.py.in (require): For version == '2.0', use a hardcoded
3453 pygtk path, recorded during build.
3455 * gobject/gobjectmodule.c (_pyg_strv_to_gvalue): Don't allow
3456 arbitrary sequences, only tuple or list, since a string is a
3458 (pyg_object_new): Add a bit more detail to the exception string.
3460 2006-01-16 Johan Dahlin <johan@gnome.org>
3462 * Makefile.am: Include dsextras.py in the dist and install it.
3464 2006-03-19 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3466 * gobject/pygobject.c (pygobject_new_with_interfaces): Remove
3467 comment "It will currently not filter out interfaces already
3468 implemented by it parents.", since it is no longer true since
3471 === PyGObject 2.10.0 ===
3472 2006-01-16 Johan Dahlin <johan@gnome.org>
3476 2006-03-09 Michael Smith <msmith@fluendo.com>
3478 reviewed by: Johan Dahlin <jdahlin@async.com.br>
3480 * gobject/pygenum.c: (pyg_enum_new), (pyg_enum_from_gtype),
3482 * gobject/pygflags.c: (pyg_flags_new), (pyg_flags_from_gtype),
3484 Plug a couple of leaks, fixes #334027.
3486 2006-01-19 Johan Dahlin <johan@gnome.org>
3488 * configure.ac (export_dynamic):
3489 * Makefile.am (egg):
3490 Add a make egg target
3492 2006-01-16 Johan Dahlin <johan@gnome.org>
3494 * configure.ac: Post release version bump
3496 === PyGObject 2.9.1 ===
3497 2006-01-16 Johan Dahlin <johan@gnome.org>
3501 2006-01-15 Christopher Aillon <caillon@redhat.com>
3503 * gobject/gobjectmodule.c (pyg_strv_to_gvalue):
3504 Don't call g_value_init since the other *_to_gvalue
3505 methods expect an already inited GValue
3507 2006-01-14 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3509 * gobject/gobjectmodule.c (iowatch_marshal): Warn if io callback
3510 returns None: almost always this is an error.
3512 2006-01-13 Gustavo J. A. M. Carneiro <gjc@gnome.org>
3514 * gobject/pygobject.c (pygobject_register_class): Change strategy
3515 a bit: don't ignore bases; use but augment it with missing bases
3516 extracted in runtime.
3518 * gobject/pygobject.c (pygobject_register_class): Don't use the
3519 passed in 'bases' parameter; instead find out in runtime the bases
3520 for any given gtype.
3521 (pyg_type_get_bases, pygobject_new_with_interfaces): Refactor code
3522 that dynamically discovers bases into a separate function;
3523 Override tp_dealloc, tp_alloc, tp_free, tp_traverse, and tp_clear,
3524 inherit them again from the parent type, since type_new inside
3525 Python core sets them to hardcoded functions subtype_xxx. Also
3526 call py_parent_type->ob_type, instead of fixed &PyType_Type.
3527 (pygobject_clear): Change a g_message to g_warning.
3529 2006-01-13 Johan Dahlin <jdahlin@async.com.br>
3531 * gobject/gobjectmodule.c: (pyg_io_add_watch),
3532 (marshal_emission_hook), (pyg_add_emission_hook),
3533 (pyg_remove_emission_hook):
3534 * gobject/pygobject.c:
3535 * tests/test_signal.py:
3537 Add add/remove_emission_hook and tests. Fixes #325977
3539 2006-01-11 Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
3541 * gobject/gobjectmodule.c (_pyg_signal_accumulator),
3542 (create_signal, pyg_signal_accumulator_true_handled),
3543 (initgobject): Bug 155380 -- Add support for signal accumulators.
3545 * tests/runtests.py: Add 'test_enum', 'test_conversion' to
3546 SKIP_FILES, since they depend on pygtk modules so don't work
3547 anymore. This should be eventually fixed, though.
3549 * tests/test_signal.py: Test signal accumulators.
3551 * gobject/pygtype.c (object_doc_descr_get): Reorder
3552 properties/signals documentation more nicely: signals + properties
3553 from each type are presented, with types ranging from the leaf
3554 types to the base types.
3556 * configure.ac: Branch, bump version to 2.9.1.
3558 === PyGObject 2.8.0 ===
3559 2006-01-09 Johan Dahlin <jdahlin@async.com.br>
3563 * tests/Makefile.am:
3565 Make dist/distcheck work again
3567 2006-01-09 Johan Dahlin <jdahlin@async.com.br>
3569 * setup.py: Add distutils support
3571 * dsextras.py (get_m4_define): Check for configure.ac aswell.
3582 * examples/.cvsignore:
3583 * examples/Makefile.am:
3584 * gobject/gobjectmodule.c: (initgobject):
3587 * pygobject-2.0.pc.in:
3588 * tests/Makefile.am:
3591 * tests/runtests.py:
3592 * tests/test_actiongroup.py:
3593 * tests/test_dialog.py:
3594 * tests/test_gdk.py:
3595 * tests/test_gdkevent.py:
3596 * tests/test_glade.py:
3597 * tests/test_gtype.py:
3598 * tests/test_liststore.py:
3599 * tests/test_radiobutton.py:
3600 * tests/test_signal.py:
3601 * tests/test_subtype.py:
3602 * tests/test_textview.py:
3603 * tests/test_thread.py:
3604 * tests/testhelpermodule.c: (test_type_get_type),
3605 (_wrap_test_g_object_new):
3606 * tests/testmodule.py:
3608 Split out PyGObject from PyGTK.