Commit Graph

10 Commits

Author SHA1 Message Date
Tim Janik
00e064d2af avoid unneccessary extra hook referencing (the explicit hook referencing
Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>

        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke_check):
        (g_hook_list_marshal_check):
        (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
        explicit hook referencing became unneccessarry with my changes from
        Mon Dec 21 21:48:29 1998).

        * gmain.c (g_main_iterate): fixed reference counting leaks with
        premature loop aborts.

Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
        as G_TOKEN_IDENTIFIER.
1999-01-02 01:32:37 +00:00
Tim Janik
fc323595ff fixed buglet that could cause bogus warnings.
Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>

        * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
        warnings.
1998-12-22 10:09:28 +00:00
Tim Janik
097c9b1798 there was a reference count race for hooks during invocation loops. since
Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c: there was a reference count race for hooks during invocation
        loops. since all (known) hook loop implementations, do currently start
        out with g_hook_first_valid() and iterate with g_hook_next_valid(),
        g_hook_first_valid() will now return a referenced hook, and
        g_hook_next_valid() will "eat" that, and eventually transfer it to
        the next hook. <sigh> unfortunately this requires g_hook_next_valid()
        to take the hook_list as additional argument.

        * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
1998-12-21 21:43:00 +00:00
Owen Taylor
931ea95265 This commit merges the glib-threads branch into the main
branch. See the ChangeLog for details of the changes.

In brief overview:

 - The set of threading functions can be set
 - A default implementation is provided in -lgthread
 - All static data structures are locked using these
   functions if g_thread_init() is called.
1998-12-15 05:28:02 +00:00
Tim Janik
958f33656a added g_hook_list_marshal_check() to eventually destroy hooks after they
Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: added g_hook_list_marshal_check() to eventually destroy
        hooks after they got marshalled.
1998-11-30 07:08:54 +00:00
Manish Singh
840114ac76 glib.h endian macros defined using the glibconfig.h mechanism now
* glib.h
* configure.in: endian macros defined using the glibconfig.h mechanism now

* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings

-Yosh
1998-11-02 07:04:38 +00:00
Tim Janik
e8a920f88d removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros. added macros
Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
        added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
        G_STRUCT_MEMBER() for handling structure fields through their offsets.
        (struct _GHookList): added a hook_free function member, that can be used
        to free additional fields in derived hook structures.
        g_hook_free(): if hook_list->hook_free != NULL, call this function prior
        to freeing the hook. (this functionality should have been there in the
        first place, it just got forgotten as an implementation detail).
1998-10-31 18:57:36 +00:00
Tim Janik
43cc1dbf96 removed the #pragma } statement after extern "C" {. use (c-set-offset
Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        removed the #pragma } statement after extern "C" {. use
        (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.

        * glib.h:
        * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
        G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
        changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
        G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
        fixed the g_hook_find* functions, so they iterate over non-active
        hooks as well.
        (g_hook_first_valid):
        (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
        which indicates whether G_HOOK_IN_CALL() hooks are considered valid
        or not. these two functions are meant as iterators for the hook list
        invocation, so they need to a) provide functionality to implement
        may_recurse bahaviour and b) only walk active hooks.
1998-10-07 04:19:14 +00:00
Tim Janik
ba5aabfa36 properly handle the first valid hook to call, it maybe IN_CALL already.
Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke):
        (g_hook_list_marshal): properly handle the first valid hook to call,
        it maybe IN_CALL already.
        (g_hook_list_marshal): minor name change.

Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
        with ObjC which reserves "id" as a keyword (Raja R Harinath
        <harinath@cs.umn.edu>).
1998-10-02 23:21:58 +00:00
Tim Janik
48adba2805 added ghook.c.
Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: added ghook.c.

        * glib.h:
        * ghook.c: generic callback maintenance functions.

        * glib.h: define G_GNUC_UNUSED.
1998-09-30 08:56:00 +00:00