mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
0402b625ee
Thu May 3 06:38:28 2001 Owen Taylor <otaylor@redhat.com> * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make foreach() safe against removal of the _current_ element. While this could break some code, the new behavior is consistent with the rest of GLib/GTK+ and probably is what people expect in most cases. (Suggested by Paul Kuykendall, #50071)
30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
* The event loop functionality GMain has extensively been revised to
|
|
support multiple separate main loops in separate threads. All sources
|
|
(timeouts, idle functions, etc.) are associated with a GMainContext.
|
|
|
|
Compatibility functions exist so that most application code dealing with
|
|
the main loop will continue to work. However, code that creates
|
|
new custom types of sources will require modification.
|
|
|
|
The main changes here are:
|
|
|
|
- Sources are now exposed as GSource *, rather than simply as numeric
|
|
IDS.
|
|
|
|
- New types of sources are created by structure "derivation" from GSource,
|
|
so the source_data parameter to the GSource vfuncs has been
|
|
replaced with a GSource *.
|
|
|
|
- Sources are first created, then later added to a specific GMainContext
|
|
|
|
- Dispatching has been modified so both the callback and data are passed
|
|
in to the ->dispatch() vfunc.
|
|
|
|
To go along with this change, the vtable for GIOChannel has changed and
|
|
add_watch() has been replaced by create_watch().
|
|
|
|
* g_list_foreach() and g_slist_foreach() have been changed so they
|
|
are now safe against removal of the current item, not the next item.
|
|
|
|
It's not recommended to mutate the list in the callback to these
|
|
functions in any case. |