2004-08-06  Johan Dahlin  <[email protected]>

       * NEWS: Update.

       * gobject/pygflags.c (pyg_flags_from_gtype): Don't comment out the
       fallback, it break the test. (Wow, the testsuite caught another bug!)

       * tests/enum.py: Additional tests.

       * gobject/pygenum.c (pyg_enum_repr): Don't use g_enum_get_value,
       use enum_class->values[n].value_name instead. Also check if the
       value is NULL or not. This makes gtk.icon_size_register work a
       little bit better.

       * codegen/codegen.py (Wrapper.write_methods): Use methflags
       argument for defines instead of discarding it

2004-08-04  John Finlay  <[email protected]>

       * codegen/argtypes.py Return string instead of Atom.

       * gtk/gtk.override (_wrap_gtk_selection_data_get_targets)
       (_wrap_gtk_drag_dest_find_target)
       (_wrap_gtk_drag_dest_get_target_list)
       (_wrap_gtk_clipboard_wait_for_targets)
       (clipboard_request_targets_cb)
       Return string(s) instead of Atom(s).

       * gtk/gtkmodule.c (init_gtk) Add string instead of Atom using
       add_atom.

2004-08-04  Johan Dahlin  <[email protected]>

       * tests/enum.py (EnumTest.testOutofBounds): New test.

       * gobject/pygflags.c (pyg_flags_from_gtype):
       * gobject/pygenum.c (pyg_enum_from_gtype): Don't segfault on
       unknown values.

2004-08-04  John Finlay  <[email protected]>

       * gtk/gtk.override (_wrap_gtk_stock_lookup)
       (_wrap_gtk_accelerator_parse) (gtk_accel_map_lookup_entry)
       Use flags instead of enum.

       gtk/gdk.override (_wrap_gdk_event_tp_getattr)
       Return flags instead of ints for event members.
       (_wrap_gdk_device_get_state) (_wrap_gdk_window_get_pointer)
       (_wrap_gdk_display_get_pointer) (_wrap_gdk_event_get_state)
       (_wrap_gdk_keymap_translate_keyboard_state)
       Return flags instead of ints

2004-08-04  Gustavo J. A. M. Carneiro  <[email protected]>

       * everywhere: s/PyGILState_Ensure/pyg_gil_state_ensure;
       s/PyGILState_Relase/pyg_gil_state_release;
       s/Py_BEGIN_ALLOW_THREADS/pyg_begin_allow_threads;
       s/Py_END_ALLOW_THREADS/pyg_end_allow_threads;

       * gobject/pygobject-private.h, gobject/pygobject.h: Add new macros
       pyg_threads_enabled, pyg_gil_state_ensure, pyg_gil_state_release,
       pyg_begin_allow_threads,
       pyg_end_allow_threads. pyg_threads_enabled indicates whether
       threads are currently enabled.  The others just mimick the
       equivalent python functions, except that they do nothing when
       threads are not enabled.

       * gobject/pygobject.h: Add boolean flag to pygobject API structure
       indicating whether threading is activated; also add enable_threads
       api entry point.

       * gobject/gobjectmodule.c (pyg_enable_threads): New pygobject API
       function to activate pygtk thread awareness.
       (pyg_threads_init): gobject.threads_init(), calls pyg_enable_threads.

2004-08-04  Johan Dahlin  <[email protected]>

       * gtk/gtk.override (_wrap_gtk_accel_map_lookup_entry):
       GdkModifierType is flags not an enum.

       * gobject/pygenum.c (pyg_enum_from_gtype): Don't crash if its not
       an enum

       * gobject/pygflags.c (pyg_flags_from_gtype): Don't crash if its
       not flags

2004-08-03  Gustavo J. A. M. Carneiro  <[email protected]>

       * gobject/pygobject.c (pygobject_emit): Remove unused variable _save

       * gtk/gtkmodule.c (_pygtk_log_func): Aquire GIL.

2004-08-03  Johan Dahlin  <[email protected]>

       * gobject/pygenum.c (pyg_enum_from_gtype): Create a new GType on
       the fly if there isn't one for the GType.
       (pyg_enum_add): Allow module to be NULL.

       * codegen/argtypes.py:
       * gobject/gobjectmodule.c: (pyg_source_remove):
       * gobject/pygmaincontext.c: (_wrap_g_main_context_iteration),
       (_wrap_g_main_context_pending):
       * gobject/pygmainloop.c: (_wrap_g_main_loop_is_running):
       * gobject/pygobject.c: (pygobject_handler_is_connected):
       * gobject/pygparamspec.c: (pyg_param_spec_getattr):
       * gobject/pygtype.c: (pyg_value_as_pyobject):
       * gtk/gdk.override:
       * gtk/gtk.override:
       * gtk/gtktextview.override:
       * gtk/gtkwidget.override:
       * pango.override: Add better support for boolean type now when
       we can require 2.3. Fixes bug 149121

2004-08-03  Johan Dahlin  <[email protected]>

       * gtk/pygtktreemodel.c: Clean up most functions here to have only
       one return path.

       * gobject/pygobject.c (pygobject_emit): Protect g_value_unset by
       UNBLOCK/BLOCK_THREADS since it might call pygobject_free which
       will result in a deadlock.

       * gobject/gobjectmodule.c (pyg_thread_init): New function, move
       thread initalization stuff in here.

       * All over the place: Kill pyg_block/unblock_threads and use
       PyGILState and Py_BEGIN/END_ALLOW_THREADS.

       unblock [code] block calls are replaced by Py_BEGIN/END and
       block [code] unblock calls are replaced by PyGILState.

2004-08-03  Xavier Ordoquy  <[email protected]>

       * autogen.sh: Takes ACLOCAL_FLAGS into account.
       Fixes #149115 (Mariano Su�rez-Alvarez)

2004-08-02  John Finlay  <[email protected]>

       * gtk/gtk.defs (gtk_expander_new) (gtk_expander_new_with_mnemonic)
       label can be None - make label optional
       (gtk_expander_set_label) (gtk_expander_set_label_widget)
       label and label_widget can be None

2004-08-02  Johan Dahlin  <[email protected]>

       * configure.in: Post release version bump

       * setup.py (MICRO_VERSION):