Permalink
Commits on Aug 18, 2002
  1. fix up spec file to reflect new locations of files.

    2002-08-18  James Henstridge  <james@daa.com.au>
    
        * pygtk.spec: fix up spec file to reflect new locations of files.
    
        * pygtk.py: helper script for parallel installs.
    
        * Makefile.am: fix up makefile for parallel install.
    
    2002-08-18  James Henstridge  <james@daa.com.au>
    
        * gnome-python.spec: update to take into account new locations.
    
        * pygnome/gnome/Makefile.am: same here.
    
        * pygnome/Makefile.am: fix up for parallel install with pygtk-2.0.
    James Henstridge committed with James Henstridge Aug 18, 2002
  2. 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
  3. 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
  4. 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
Commits on Aug 17, 2002
  1. allow None when converting to string GValue (bug picked up by Thomas

    2002-08-17  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (pyg_value_from_pyobject): allow None when converting
    	to string GValue (bug picked up by Thomas Leonard.
    
    	* gtk/gtk.defs (scroll_to_cell): allow column to be None (bug #90398).
    James Henstridge committed with James Henstridge Aug 17, 2002
Commits on Jul 12, 2002
  1. These changes help with win32 compat.

    2002-07-12  James Henstridge  <james@daa.com.au>
    
    	These changes help with win32 compat.
    
    	* pygboxed.c (PyGBoxed_Type): set tp_alloc and tp_new to NULL.
    	(PyGPointer_Type): same here.
    
    	* gobjectmodule.c (PyGInterface_Type): set tp_alloc and tp_new to
    	NULL.
    	(initgobject): set tp_new and tp_alloc for various types.
    
    	* pygobject.c (PyGObject_Type): set tp_alloc and tp_new to NULL.
    James Henstridge committed with James Henstridge Jul 12, 2002
Commits on Jul 9, 2002
  1. Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from bug

    2002-07-09  James Henstridge  <james@daa.com.au>
    
    	Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from
    	bug 71435.
    
    	* gtk/libglade.override (connect_one): watch the closure.
    	(connect_many): watch the closure.
    
    	* gtk/gtk.override (_wrap_gtk_toolbar_append_item): watch closure
    	for signal.
    	(_wrap_gtk_toolbar_prepend_item): same here.
    	(_wrap_gtk_toolbar_insert_item): same here.
    	(_wrap_gtk_toolbar_insert_stock): same here.
    	(_wrap_gtk_toolbar_append_element): same here.
    	(_wrap_gtk_toolbar_prepend_element): same here.
    	(_wrap_gtk_toolbar_insert_element): same here.
    
    	* pygobject.h (_PyGObject_Functions): add pygobject_watch_closure
    	to the list of exported functions.
    
    	* pygobject.c (pygobject_watch_closure): new function to watch a
    	closure.  We perform cyclic garbage collection on watched
    	closures.  The closure will automatically be unwatched when it
    	gets invalidated.
    	(pygobject_traverse): traverse watched closures as well.
    	(pygobject_clear): invalidate all watched closures
    	(pygobject_dealloc): invalidate watched closures on dealloc too.
    	(PyGObject_Type): register the invalidate handler.
    	(pygobject_connect): watch the closure we connect here.
    	(pygobject_connect_after): same here..
    	(pygobject_connect_object): same here.
    	(pygobject_connect_object_after): same here.
    
    	* pygtype.c (pyg_closure_new): clean up closure on invalidate,
    	rather than finalize (on invalidate, we break references).
    
    	* pygobject.h (PyGObject): add closures member to store references
    	to PyGClosures.
    James Henstridge committed with James Henstridge Jul 9, 2002
Commits on Jul 8, 2002
  1. apply another memory leak fix from Arjan (from bug #87413).

    2002-07-08  James Henstridge  <james@daa.com.au>
    
    	* pygobject.c (pygobject_connect): apply another memory leak fix
    	from Arjan (from bug #87413).
    	(pygobject_connect_after): equivalent fix here.
    	(pygobject_connect_object): and here.
    	(pygobject_connect_object_after): and here.
    James Henstridge committed with James Henstridge Jul 8, 2002
Commits on Jul 7, 2002
  1. add __grefcount__ property.

    2002-07-07  James Henstridge  <james@daa.com.au>
    
    	* pygobject.c (pygobject_get_refcount): add __grefcount__ property.
    James Henstridge committed with James Henstridge Jul 7, 2002
  2. update to use this function. (ArgMatcher.register_boxed): short circu…

    …it if
    
    2002-07-07  James Henstridge  <james@daa.com.au>
    
    	* codegen/argtypes.py (GtkTreePathArg.write_return): update to use
    	this function.
    	(ArgMatcher.register_boxed): short circuit if there is already a
    	handler for the boxed type (helps with setting custom handlers for
    	boxed types).
    
    	* gtk/gtk-types.c (pygdk_rectangle_from_pyobject): new function to
    	parse a GdkRectangle from a PyObject.
    
    	* gtk/pygtktreemodel.c (pygtk_generic_tree_model_get_path): print
    	a warning if the return value could not be converted to a
    	GtkTreePath.
    
    	* gtk/gtk.override (_wrap_gtk_tree_model_get_value): don't assume
    	tree paths are tuples.
    
    	* codegen/argtypes.py (GtkTreePathArg.write_param): fix up code
    	generator to get rid of assumption that tree paths are tuples, and
    	catch case where pygtk_tree_path_from_pyobject() returns NULL.
    
    	* gtk/gtk-types.c (pygtk_tree_path_from_pyobject): change so that
    	we treat an integer PyObject as a tree path with a single index.
    
    	* pygtype.c (pyg_closure_marshal): apply patch from Arjan Molenaar
    	<arjanmolenaar@hetnet.nl> that fixes a reference leak for the
    	argument tuple passed to the callback.
    	(pyg_signal_class_closure_marshal): apply similar fix here.
    James Henstridge committed with James Henstridge Jul 7, 2002
Commits on Jun 24, 2002
  1. Add GBoxed::copy

    Sun Jun 23 11:10:30 2002  Jonathan Blandford  <jrb@gnome.org>
    
    	* pygboxed.c: Add GBoxed::copy
    
    	* pygobject.c (pygobject_init): take kwargs so we can pass
    	construct-only arguments to our initialization function.
    Jonathan Blandford committed with Jonathan Blandford Jun 24, 2002
Commits on Jun 23, 2002
  1. copy boxed arguments.

    2002-06-23  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.override (_wrap_gtk_tree_sortable_get_sort_column_id):
    	copy boxed arguments.
    
    	* pygobject.h: fix up prototypes.
    
    	* gobjectmodule.c (pyg_object_set_property): copy boxed arguments.
    
    	* pygobject.c (pygobject_get_property): copy boxed arguments here.
    	(pygobject_emit): same here.
    	(pygobject_chain_from_overridden): same here.
    
    	* pygtype.c (pyg_value_as_pyobject): add "copy_boxed" argument to
    	this function.
    	(pyg_closure_marshal): pass FALSE for copy_boxed argument.
    	(pyg_signal_class_closure_marshal): same here.
    James Henstridge committed with James Henstridge Jun 23, 2002
Commits on Jun 17, 2002
  1. if a value holds a PyObject*, the code that is getting the value is

    2002-06-17  Matt Wilson  <msw@redhat.com>
    
    	* pygtype.c (pyg_value_as_pyobject): if a value holds a PyObject*,
    	the code that is getting the value is expecting a valid object.
    	Translate NULL pointers to Py_None.
    Matt Wilson committed with Matt Wilson Jun 17, 2002
Commits on Jun 16, 2002
  1. decref the exception instance after raising the error.

    2002-06-15  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_error_check): decref the exception instance
    	after raising the error.
    James Henstridge committed with James Henstridge Jun 16, 2002
Commits on May 31, 2002
  1. the path argument must be a tuple. Ints are not automatically convert…

    …ed to
    
    2002-05-31  Matt Wilson  <msw@redhat.com>
    
    	* examples/pygtk-demo/demos/list_store.py (fixed_toggled): the
    	path argument must be a tuple.  Ints are not automatically
    	converted to tuples any more.
    
    	* pygtype.c (pyg_value_as_pyobject): change the behavior of
    	G_TYPE_UINT to match the code generator's output on 32 bit
    	systems.
    Matt Wilson committed with Matt Wilson May 31, 2002
Commits on May 15, 2002
  1. add support for G_TYPE_INTERFACE, provided the interface has a prereq on

    2002-05-16  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (pyg_value_from_pyobject): add support for
    	G_TYPE_INTERFACE, provided the interface has a prereq on
    	G_TYPE_OBJECT.
    	(pyg_value_as_pyobject): same here.
    James Henstridge committed with James Henstridge May 15, 2002
Commits on May 14, 2002
  1. add handler for G_TYPE_PARAM (fix bug #81695). (pyg_value_as_pyobject):

    2002-05-14  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (pyg_value_from_pyobject): add handler for
    	G_TYPE_PARAM (fix bug #81695).
    	(pyg_value_as_pyobject): same in this function.
    James Henstridge committed with James Henstridge May 14, 2002
Commits on Mar 19, 2002
  1. allow override of autoconf and autoheader

    2002-03-19  Matt Wilson  <msw@redhat.com>
    
    	* autogen.sh: allow override of autoconf and autoheader
    
    	* gtk/gtk.defs (GtkTreeModel.get_iter_root): use the
    	gtk_tree_model_get_iter_first code, get_iter_root is going to be
    	deprecated.
    	(GtkTreeModel.get_iter_first): added
    
    	* gtk/gtk.override (_wrap_gtk_tree_model_get_iter_root): check the
    	return value of gtk_tree_model_get_iter_root and return None if it
    	failed.  Rename to _wrap_gtk_tree_model_get_iter_first.
    
    	* codegen/codegen.py (write_class, write_interface, write_boxed
    	write_pointer): use overrides.is_already_included to prevent from
    	having the same override code included twice in one file.  This
    	allows two methods to point to the same function.
    
    	* codegen/override.py (Overrides.is_already_included): added a
    	function that returns true if the override code has been emitted
    	already.
    
    2002-03-11  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c: remove pygobject_exception_notifiers and
    	pyg_fatal_exceptions_notify.
    Matt Wilson committed with Matt Wilson Mar 19, 2002
Commits on Mar 16, 2002
  1. fix up property listing.

    2002-03-16  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (add_property_docs): fix up property listing.
    
    	* gtk/libglade.override: add modulename directive.
    
    	* gtk/gdk.override: add modulename directive.
    
    	* gtk/gtk.override: add modulename directive.
    
    	* atk.override: add modulename directive.
    
    	* pango.override: add modulename directive.
    
    	* codegen/codegen.py (write_class): if override.modulename is set,
    	put it into the classname.
    	(write_interface): same here.
    	(write_boxed): same here.
    	(write_pointer): same here.
    
    	* codegen/override.py (Overrides.__parse_override): add support
    	for a "modulename" directive for overrides files.
    James Henstridge committed with James Henstridge Mar 16, 2002
Commits on Feb 12, 2002
  1. Fix a leak

    2002-02-12  Johan Dahlin  <jdahlin@telia.com>
    
            * gobjectmodule.c (initgobject): Fix a leak
    
            * gtk/gtkmodule.c (init_gtk): Fix another one
    Johan Dahlin committed with Johan Dahlin Feb 12, 2002
Commits on Feb 5, 2002
  1. register pointer types as well.

    2002-02-05  James Henstridge  <james@daa.com.au>
    
    	* codegen/codegen.py (register_types): register pointer types as
    	well.
    
    	* codegen/argtypes.py (PointerArg): handling for pointer arg
    	types.
    	(ArgMatcher.register_pointer): add function to register pointer
    	types.
    
    	* gtk/gtk.override (_wrap_gtk_ctree__get_selection): GtkCTreeNode
    	is not a boxed type.
    	(_wrap_gtk_ctree_base_nodes): same.
    	(_wrap_gtk_ctree_insert_node): same.
    	(_wrap_gtk_ctree_find_by_row_data): same.
    	(_wrap_gtk_ctree_find_all_by_row_data): same.
    	(_wrap_gtk_ctree_node_get_text): same.
    	(_wrap_gtk_ctree_node_get_pixmap): same.
    	(_wrap_gtk_ctree_node_get_pixtext): same.
    	(_wrap_gtk_ctree_get_node_info): same.
    	(_wrap_gtk_ctree_node_set_row_data): same.
    	(_wrap_gtk_ctree_node_get_row_data): same here.
    	(_wrap_gtk_ctree_getattr): same here.
    
    	* codegen/codegen.py (write_source): register pointer types as
    	pointers.
    
    	* pango.override (_wrap_pango_font_description_new): ignore some
    	private (well, pango module API) functions.
    
    	* gtk/gtk-types.defs (CTreeNode): make this a pointer type.
    
    	* codegen/codegen.py (write_pointer_method): new method to write
    	methods for GPointer types.
    	(write_pointer_constructor): new function for writing constructor
    	for GPointer types.
    	(write_pointer_getsets): new function for writing getters for
    	pointer objects (this should be merged with the GObject and GBoxed
    	versions ...).
    	(write_pointer): add new function, which calls all the GPointer
    	related functions.
    	(write_source): write pointer types.
    
    	* gobjectmodule.c (initgobject): actually ready the GPointer type.
    
    	* gtk/gtk-types.defs (CTreeNode): get rid of fields here.  They
    	will be covered by the custom getattr() function, so no need to
    	duplicate.
    
    	* codegen/codegen.py (write_boxed_getsets): convert to use getsets
    	for boxed objects.
    	(write_boxed): use write_boxed_getsets() to write the getsets,
    	while allowing boxed objects to specify a getattr() function.
    
    2002-02-04  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (initgobject): add GPointer to the module dict.
    	(pygobject_api_functions): and to the API vtable.
    
    	* pygobject.h (pyg_constant_strip_prefix): and add it to the
    	public header.
    
    	* pygobject-private.h (pyg_pointer_new): add stuff to private
    	header ...
    
    	* pygboxed.c (PyGPointer): add code to handle base GPointer type.
    
    	* codegen/defsparser.py (DefsParser.__init__): add self.pointers
    	attribute.
    	(DefsParser.define_pointer): handle (define-pointer ...).
    	(DefsParser.write_defs): handle pointer types.
    
    	* codegen/definitions.py (PointerDef): new definition type for
    	G_TYPE_POINTER subclasses.
    James Henstridge committed with James Henstridge Feb 5, 2002
Commits on Jan 28, 2002
  1. same code here, if __doc__ hasn't already been set. (initgobject): don't

    2002-01-28  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_type_register): same code here, if __doc__
    	hasn't already been set.
    	(initgobject): don't bother setting __doc__ on GObject here, as
    	pygobject_register_class() does this for us.
    
    	* pygobject.c (pygobject_register_class): need to set the __doc__
    	descriptor on every class, otherwise it gets lost.
    James Henstridge committed with James Henstridge Jan 28, 2002
Commits on Jan 24, 2002
  1. use g_string_append_printf(). (add_property_docs): same here.

    2002-01-24  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (add_signal_docs): use g_string_append_printf().
    	(add_property_docs): same here.
    
    	* examples/simple/tooltip.py: updated version from Steve George.
    James Henstridge committed with James Henstridge Jan 24, 2002
Commits on Jan 23, 2002
  1. (add_signal_docs): only get the class for a type if it is a

    	classed type.
    James Henstridge committed Jan 23, 2002
  2. (add_property_docs): fix small bug.

    James Henstridge committed Jan 23, 2002
  3. fill in __doc__ descriptor

    2002-01-23  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c (object_doc_descr_get): fill in __doc__ descriptor
    
    	* gobjectmodule.c (initgobject): add __doc__ descriptor to GObject
    	and GInterface.  Add __gdoc__ as a synonym because type.__doc__
    	masks our descriptor sometimes :(
    
    	* pygtype.c (object_doc_descr_get): skeleton of the __doc__
    	descriptor.
    	(PyGObjectDoc_Type): type definition.
    	(pyg_object_descr_doc_get): function to create and return the
    	__doc__ descriptor (we only need one for all classes).
    James Henstridge committed with James Henstridge Jan 23, 2002
Commits on Jan 22, 2002
  1. move GObject wrapper stuff here.

    2002-01-22  James Henstridge  <james@daa.com.au>
    
    	* pygobject.c: move GObject wrapper stuff here.
    James Henstridge committed with James Henstridge Jan 22, 2002
  2. and again :(

    James Henstridge committed Jan 22, 2002
  3. small patch to get things working again after last commit.

    James Henstridge committed Jan 22, 2002
  4. move closure stuff here.

    2002-01-22  James Henstridge  <james@daa.com.au>
    
    	* pygtype.c: move closure stuff here.
    James Henstridge committed with James Henstridge Jan 22, 2002
  5. don't create boxed_marshal hash table, and remove the type functions …

    …moved
    
    2002-01-22  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (initgobject): don't create boxed_marshal hash
    	table, and remove the type functions moved to pygtype.c.
    
    	* pygtype.c: move GType stuff here from gobjectmodule.c.
    	(pyg_register_boxed_custom): store the custom boxed marshal
    	functions as GType data, rather than in a separate hash table.
    James Henstridge committed with James Henstridge Jan 22, 2002
Commits on Jan 21, 2002
  1. list extra source files.

    2002-01-21  James Henstridge  <james@daa.com.au>
    
    	* Makefile.am (gobjectmodule_la_SOURCES): list extra source files.
    
    	* pygobject-private.h (pyg_boxed_new): new header for functions
    	shared between files in gobjectmodule.
    
    	* pygboxed.c (pyg_register_boxed): move GBoxed handling code here.
    James Henstridge committed with James Henstridge Jan 21, 2002
Commits on Jan 12, 2002
  1. convert None, int, long, float, str and object to GTypes.

    2002-01-12  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_type_from_object): convert None, int, long,
    	float, str and object to GTypes.
    
    	* gtk/gtkmodule.c (init_gtk): only raise a runtime error if we
    	can't initialise gtk.
    James Henstridge committed with James Henstridge Jan 12, 2002
Commits on Jan 11, 2002
  1. removed debugging code I didn't mean to check in.

    2002-01-11  Matt Wilson  <msw@redhat.com>
    
    	* gtk/gtk.override (_wrap_gtk_toolbar_insert_stock): removed
    	debugging code I didn't mean to check in.
    
    	* gobjectmodule.c (pyg_closure_new): use PyTuple_SetItem to build
    	the tuple if extra_args isn't one.  It's faster than using
    	abstractions and clarifies ownership rules, so we always incref
    	extra_args even if we're about to wrap it in a tuple.  Fixes
    	crashes when passing callback functions into
    	GtkToolbar.{append_item,prepend_item,insert_item,insert_stock,
    	append_element}
    Matt Wilson committed with Matt Wilson Jan 11, 2002
Commits on Jan 7, 2002
  1. the F10 key is used to start navigating the menu -- not alt.

    2002-01-07  James Henstridge  <james@daa.com.au>
    
    	* examples/pygtk-demo/demos/itemfactory.py (main): the F10 key is
    	used to start navigating the menu -- not alt.
    
    	* gtk/gtk-types.c (PyGtkStyleHelper_Dealloc): use PyObject_DEL.
    	(PyGtkStyle_Dealloc): same here.
    	(PyGdkWindow_Dealloc): same here.
    	(PyGdkGC_Dealloc): same here.
    	(PyGdkColormap_Dealloc): same here.
    	(pygdk_atom_dealloc): same here.
    
    	* gobjectmodule.c (pyg_type_wrapper_dealloc): use PyObject_DEL to
    	prevent segfaults with pymalloc.
    	(pyg_param_spec_dealloc): same here.
    James Henstridge committed with James Henstridge Jan 7, 2002