summaryrefslogtreecommitdiff
path: root/docs/Changes-2.0.txt
blob: 13f79b3db8d9a787d1dad84989dba603b050b95c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
* 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.