Permalink
Switch branches/tags
Commits on Mar 13, 2003
  1. add doc comments.

    2003-03-13  James Henstridge  <james@daa.com.au>
    
        * gobjectmodule.c: add doc comments.
    
        * pygobject.c: add doc comments.
    
        * pygboxed.c: add doc comments.
    James Henstridge committed with James Henstridge Mar 13, 2003
Commits on Mar 12, 2003
  1. add some documentation.

    2003-03-12  James Henstridge  <james@daa.com.au>
    
        * pygtype.c: add some documentation.
    James Henstridge committed with James Henstridge Mar 12, 2003
Commits on Mar 7, 2003
  1. the GObject should own a ref to the wrapper. (pygobject_new): get rid of

    2003-03-06  James Henstridge  <james@daa.com.au>
    
        * pygobject.c (pygobject_register_wrapper): the GObject should own
        a ref to the wrapper.
        (pygobject_new): get rid of the hasref code, and make sure that
        the GObject owns a ref to the wrapper if we create it.
        (pygobject_dealloc): get rid of the hasref code.  If we get this
        far, the wrapper is dead.
        (pygobject_traverse): if the GObject's refcount == 1, then
        traverse to self.
        (pygobject_clear): clear self->obj and self->inst_dict.
        (pygobject_register_class): set tp_clear() so that things actually
        work.  Without this, there was no tp_clear method for subclasses
        of GObject.
    
        * pygobject.h: remove hasref member, hopefully not needed if
        relying on cycle GC.
    James Henstridge committed with James Henstridge Mar 7, 2003
Commits on Mar 4, 2003
  1. Unblock threads before invalidating our closures, since this might tr…

    …igger
    
    2003-03-04  Jon Trowbridge  <trow@ximian.com>
    
    	* pygobject.c (pygobject_dealloc): Unblock threads before
    	invalidating our closures, since this might trigger a destructor
    	that needs to execute python code.
    	(pygobject_clear): Ditto.
    
    	* pygboxed.c (pyg_boxed_dealloc): Unblock threads before freeing
    	the boxed type, since the destructor may need to execute python
    	code.
    	(pyg_boxed_new): Block threads while we make our Py* calls.
    	(pyg_pointer_new): Block threads while we make our Py* calls.
    
    	* gobjectmodule.c (pyg_object_set_property): We need to block
    	threads before our call to pygobject_new.
    	(pyg_object_get_property): Ditto.
    Jon Trowbridge committed with Jon Trowbridge Mar 4, 2003
Commits on Mar 2, 2003
  1. Fix function name in exception.

    	* gobjectmodule.c (pyg_io_add_watch): Fix function name in exception.
    Johan Dahlin committed Mar 2, 2003
Commits on Feb 27, 2003
  1. Small typo.

    	* dsextras.py (getstatusoutput): Small typo.
    
    	* setup.py: Cut the doclines, to make the windows installer happy
    Johan Dahlin committed Feb 27, 2003
  2. Added win32 support and some rearrangements. Largely based upon patch by

    	* setup.py, dsextras.py: Added win32 support and some
    	rearrangements. Largely based upon patch by Cedric Gustin.
    Johan Dahlin committed Feb 27, 2003
Commits on Feb 8, 2003
  1. Added.

    	* pygtk-2.0.pc.in (codegendir): Added.
    
    	* setup.py: Added Numeric and gtkgl support (gtkgl untested).
    
    	* dsextras.py: Updated.
    Johan Dahlin committed Feb 8, 2003
Commits on Jan 24, 2003
  1. Fix template bustage.

    	* dsextras.py (InstallLib.add_template_option): Fix template bustage.
    Johan Dahlin committed Jan 24, 2003
Commits on Jan 21, 2003
  1. Import codegen here instead, needs to be fixed in the future though.

    	* dsextras.py (Template.generate): Import codegen here instead,
    	needs to be fixed in the future though.
    
    	* Makefile.am (EXTRA_DIST): Added dsextras.py
    Johan Dahlin committed Jan 21, 2003
  2. Add GMainContext bindings and complete the GMainLoop bindings. Fixes

    	* gobjectmodule.c: Add GMainContext bindings and complete the
    	GMainLoop bindings. Fixes #102362.
    Johan Dahlin committed Jan 21, 2003
  3. Splitted out from setup.py. It should be reusable for gnome-python and

    	* dsextras.py: Splitted out from setup.py. It should be reusable
    	for gnome-python and other extensions that uses pygtk.
    	Fixes #103615
    Johan Dahlin committed Jan 21, 2003
Commits on Jan 19, 2003
  1. Check if a directory is empty before adding it to the path. Also added a

    	* pygtk.py (_get_available_versions): Check if a directory is
    	empty before adding it to the path. Also added a few comments.
    	Fixes #103876 (Ross Burton).
    Johan Dahlin committed Jan 19, 2003
Commits on Jan 18, 2003
  1. use os.path.join in a few more places

    	* setup.py: use os.path.join in a few more places
    
    	* pygobject-private.h: Add PyGMainLoop struct and type
    
    	* gobjectmodule.c (_wrap_g_main_loop_new, _wrap_g_main_loop_quit)
    	(_wrap_g_main_loop_is_running, _wrap_g_main_loop_run): Added
    	GMainLoop wrapper.
    	(initgobject): Register wrapper in gobject.MainLoop
    Johan Dahlin committed Jan 18, 2003
Commits on Jan 17, 2003
  1. In my fix for bug #102756 on 2003-01-08, I should have used calls to

    2003-01-17  Jon Trowbridge  <trow@ximian.com>
    
    	* pygobject.c (pygobject_dealloc): In my fix for bug #102756 on
    	2003-01-08, I should have used calls to pyg_unblock_threads()/
    	pyg_block_threads() instead of directly calling the
    	Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS macros.  The macros
    	don't update our local thread lock counts, causing problems in
    	cases where the finalization of one object triggers the
    	finalization of another.  (When I say "problems", I of course mean
    	"horrible crashes and mysterious race conditions".)
    
    	* gtk/gtk-types.c (pygtk_style_helper_dealloc,
    	pygtk_style_helper_setitem, pygtk_tree_model_row_dealloc,
    	pygtk_tree_model_row_iter_dealloc): See above.
    Jon Trowbridge committed with Jon Trowbridge Jan 17, 2003
Commits on Jan 8, 2003
  1. Wrap Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS around the call to

    2003-01-08  Jon Trowbridge  <trow@ximian.com>
    
    	* pygobject.c (pygobject_dealloc): Wrap
    	Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS around the call to
    	g_object_unref.  We need to do this because the object finalizers
    	might trigger other code that has to acquire the interpreter lock,
    	causing a deadlock.  Fixes #102756.
    
    	* gtk/gtk-types.c (pygtk_style_helper_dealloc): Wrap the call to
    	g_object_unref in Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS.
    	This should let us avoid other instances of bug #102756.
    	(pygtk_style_helper_setitem): Ditto.
    	(pygtk_tree_model_row_dealloc): Ditto.
    	(pygtk_tree_model_row_iter_dealloc): Ditto.
    
    	* gtk/gdk.override (pygdk_unblock_threads, pygdk_unblock_threads):
    	Restored David I Lehn's patch (#98380).  His patch was fine ---
    	it just caused bug #102756 to emerge.
    Jon Trowbridge committed with Jon Trowbridge Jan 8, 2003
  2. Doh! Paper bag

    Johan Dahlin committed Jan 8, 2003
Commits on Jan 7, 2003
  1. Rewrite using glob.glob, with python2.2 glob uses fnmatch.filter with is

    	* pygtk.py (_get_available_versions): Rewrite using glob.glob,
    	with python2.2 glob uses fnmatch.filter with is an optimized
    	version of what we did before. _get_available_versions is now
    	roughly 5 times faster.
    Johan Dahlin committed Jan 7, 2003
Commits on Jan 1, 2003
  1. Fixelifix

    Johan Dahlin committed Jan 1, 2003
  2. Add default values.

    2003-01-01  Johan Dahlin  <jdahlin@async.com.br>
    
    	* gtk/gtk.defs (GtkTreeView.scroll_to_cell): Add default values.
    
    	* gtk/gtk.override (_wrap_gtk_tree_selection_get_selected): Check
    	the mode before calling gtk_tree_selection_get_selected, this
    	avoids an abort() in gtk+.
    
    	* pygtk.py: Updated to fix #102180, so .require() can be called
    	twice and won't do anything the second time (eg, not raise an
    	error) based upon patch by warner-gnome.bugzilla@lothar.com
    Johan Dahlin committed with Johan Dahlin Jan 1, 2003
Commits on Dec 28, 2002
  1. Improve threading support by adding pyg_thread_block/unblock around all

    	* gobjectmodule.c, gtk/gtk.override, gtk/pygtkcellrenderer.c,
    	gtk/pygtktreemodel: Improve threading support by adding
    	pyg_thread_block/unblock around all PyObject_Call* and
    	g_object_refs.
    	Based upon patch by Jon Trowbridge. Fixes #99102.
    Johan Dahlin committed Dec 28, 2002
Commits on Dec 24, 2002
  1. (pygobject_chain_from_overridden): check if

        g_signal_get_invocation_hint() returns NULL.
    James Henstridge committed Dec 24, 2002
  2. add abstract type check here too. (pygobject_init): make this code more

    2002-12-24  James Henstridge  <james@daa.com.au>
    
        * pygobject.c (pygobject_init): add abstract type check here too.
        (pygobject_init): make this code more similar to pyg_object_new,
        so that it is easier to fix bugs in the future.
    
        * gobjectmodule.c (pyg_object_new): handle case of no keyword
        arguments.
        (pyg_object_new): refuse to instantiate an abstract type.
    James Henstridge committed with James Henstridge Dec 24, 2002
Commits on Dec 5, 2002
  1. ChangeLog

    Johan Dahlin committed Dec 5, 2002
Commits on Nov 28, 2002
  1. If the directory doesn't exist skip it. If not, it breaks when doing

    	* pygtk.py (_get_available_versions): If the directory doesn't
    	exist skip it. If not, it breaks when doing os.listdir.
    Johan Dahlin committed Nov 28, 2002
Commits on Nov 19, 2002
  1. get rid of pyg_handler_marshal and pyg_input_marshal, which were the …

    …last
    
    2002-11-19  James Henstridge  <james@daa.com.au>
    
        * gtk/gtkobject-support.c: get rid of pyg_handler_marshal and
        pyg_input_marshal, which were the last bits of code using the old
        GtkArg APIs in gtk.
    
        * gtk/gtk.override: remove wrappers for gtk_idle_add,
        gtk_timeout_add and gtk_input_add.
        (_wrap_gtk_quit_add): change so that it doesn't use
        pyg_handler_marshal.
    
        * gtk/__init__.py: set the TRUE and FALSE constants to True and
        False if possible.  Fall back to 0/1 otherwise.
        (*): bind idle, timeout and input functions to gobject equivalents.
    
        * gobjectmodule.c (get_handler_priority): helper function to get
        priority value as a keyword argument.
        (pyg_idle_add): convert priority arg to an optional keyword
        argument.
        (pyg_timeout_add): and here.
        (pyg_io_add_watch): and here.
    James Henstridge committed with James Henstridge Nov 19, 2002
Commits on Nov 18, 2002
  1. add a wrapper for g_idle_add. (pyg_timeout_add): and a wrapper for

    2002-11-18  James Henstridge  <james@daa.com.au>
    
        * gobjectmodule.c (pyg_idle_add): add a wrapper for g_idle_add.
        (pyg_timeout_add): and a wrapper for g_timeout_add.
        (pyg_io_add_watch): and a wrapper for g_io_add_watch.
        (initgobject): add constants.
    James Henstridge committed with James Henstridge Nov 18, 2002
Commits on Nov 16, 2002
  1. set up closure correctly. Fix from bug #96922.

    2002-11-16  James Henstridge  <james@daa.com.au>
    
        * pygobject.c (pygobject_connect_object): set up closure
        correctly.  Fix from bug #96922.
        (pygobject_connect_object_after): and here.
    James Henstridge committed with James Henstridge Nov 16, 2002
  2. (pyg_value_as_pyobject): when converting G_TYPE_BOOLEAN values to

        python objects, return one of Py_True or Py_False, so that Python
        2.3 will return an instance of bool.
    James Henstridge committed Nov 16, 2002
  3. if python object is None, set GValue to NULL for boxed, pointer and

    2002-11-16  James Henstridge  <james@daa.com.au>
    
        * pygtype.c (pyg_value_from_pyobject): if python object is None,
        set GValue to NULL for boxed, pointer and GObject types.
        (pyg_value_as_pyobject): convert G_TYPE_POINTER values to
        gobject.GPointer python objects.
    James Henstridge committed with James Henstridge Nov 16, 2002
Commits on Aug 26, 2002
  1. fix up misspelling.

    2002-08-26  James Henstridge  <james@daa.com.au>
    
        * codegen/docgen.py (DocWriter.write_full_hierarchy): fix up
        misspelling.
    
        * pygtype.c (pyg_value_from_pyobject): fix typo from when I was
        applying Thomas's patch.
    James Henstridge committed with James Henstridge Aug 26, 2002
Commits on Aug 20, 2002
  1. han Dahlin <jdahlin@telia.com>

    han Dahlin  <jdahlin@telia.com>
    
            Patch from Arjan J. Molenaar:
            * gobjectmodule.c (pyg_type_register): Don't unref borrowed
            references.
    Johan Dahlin committed Aug 20, 2002
Commits on Aug 18, 2002
  1. same here.

    2002-08-18  James Henstridge  <james@daa.com.au>
    
        * gtk/Makefile.am: same here.
    
        * Makefile.am: install in a gtk-2.0 subdir of site-packages.
    
        * pygtk.py: new file to help with pygtk version parallel install.
    James Henstridge committed with James Henstridge Aug 18, 2002
  2. unref object_wrapper. (pyg_object_get_property): unref object_wrapper.

    2002-08-18  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_object_set_property): unref object_wrapper.
    	(pyg_object_get_property): unref object_wrapper.  (from patch by
    	Arjan Molenaar on bug #71021).
    James Henstridge committed with James Henstridge Aug 18, 2002
  3. don't need to manually sink. (_wrap_gtk_tree_view_column_new): same h…

    …ere.
    
    2002-08-18  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.override (_wrap_gtk_clist_new_with_titles): don't need
    	to manually sink.
    	(_wrap_gtk_tree_view_column_new): same here.
    	(_wrap_gtk_button_new): same here.
    	(_wrap_gtk_toggle_button_new): same here.
    	(_wrap_gtk_check_button_new): same here.
    	(_wrap_gtk_radio_button_new): same here.
    	(_wrap_gtk_list_item_new): same here.
    	(_wrap_gtk_menu_item_new): same here.
    	(_wrap_gtk_check_menu_item_new): same here.
    	(_wrap_gtk_radio_menu_item_new): same here.
    	(_wrap_gtk_image_menu_item_new): same here.
    	(_wrap_gtk_ctree_new_with_titles): same here.
    	(_wrap_gtk_dialog_new_with_buttons): same here.
    	(_wrap_gtk_message_dialog_new): same here.
    	(_wrap_gtk_progress_bar_new_with_adjustment): same here.
    
    	* gtk/gtkmodule.c (sink_gtkobject): function to sink a GtkObject
    	if it is floating.
    	(init_gtk): register sink_gtkobject for sinking GtkObjects.
    
    	* codegen/codegen.py
    	(GObjectWrapper.get_initial_constructor_substdict): get rid of
    	gtkobjectsink bit of code.
    
    	* pygobject.c (pygobject_register_sinkfunc): new function to
    	register a function to get rid of the floating reference from an
    	object.
    	(sink_object): run a sinkfunc for an object if it has been
    	registered.
    	(pygobject_new): call sink_object
    	(pygobject_register_wrapper): call sink_object.
    James Henstridge committed with James Henstridge Aug 18, 2002