1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
1 |
General Information
|
2 |
===================
|
|
3 |
||
1.10.5
by Sebastian Dröge
Import upstream version 2.23.6 |
4 |
This is GLib version 2.23.6. GLib is the low-level core |
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
5 |
library that forms the basis for projects such as GTK+ and GNOME. It |
6 |
provides data structure handling for C, portability wrappers, and |
|
7 |
interfaces for such runtime functionality as an event loop, threads, |
|
8 |
dynamic loading, and an object system. |
|
9 |
||
10 |
The official ftp site is: |
|
1.2.22
by Sebastien Bacher
Import upstream version 2.13.2 |
11 |
ftp://ftp.gtk.org/pub/glib |
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
12 |
|
13 |
The official web site is: |
|
14 |
http://www.gtk.org/ |
|
15 |
||
16 |
Information about mailing lists can be found at |
|
17 |
http://www.gtk.org/mailinglists.html |
|
18 |
||
19 |
To subscribe: mail -s subscribe gtk-list-request@gnome.org < /dev/null |
|
20 |
(Send mail to gtk-list-request@gnome.org with the subject "subscribe") |
|
21 |
||
22 |
Installation
|
|
23 |
============
|
|
24 |
||
25 |
See the file 'INSTALL' |
|
26 |
||
1.9.1
by Emilio Pozuelo Monfort
Import upstream version 2.23.1 |
27 |
Notes about GLib 2.24
|
28 |
=====================
|
|
29 |
||
1.10.1
by Sebastien Bacher
Import upstream version 2.23.2 |
30 |
* It is now allowed to call g_thread_init(NULL) multiple times, and
|
31 |
to call glib functions before g_thread_init(NULL) is called |
|
32 |
(although the later is mainly a change in docs as this worked before |
|
33 |
too). See the GThread reference documentation for the details. |
|
34 |
||
35 |
* GObject now links to GThread and threads are enabled automatically
|
|
36 |
when g_type_init() is called. |
|
37 |
||
1.9.1
by Emilio Pozuelo Monfort
Import upstream version 2.23.1 |
38 |
* GObject no longer allows to call g_object_set() on construct-only properties
|
39 |
while an object is being initialized. If this behavior is needed, setting a |
|
40 |
custom constructor that just chains up will re-enable this functionality. |
|
41 |
||
1.10.2
by Sebastien Bacher
Import upstream version 2.23.3 |
42 |
* GMappedFile on an empty file now returns NULL for the contents instead of
|
43 |
returning an empty string. The documentation specifically states that code |
|
44 |
may not rely on nul-termination here so any breakage caused by this change |
|
45 |
is a bug in application code. |
|
46 |
||
1.2.49
by Martin Pitt
Import upstream version 2.21.3 |
47 |
Notes about GLib 2.22
|
48 |
=====================
|
|
49 |
||
50 |
* Repeated calls to g_simple_async_result_set_op_res_gpointer used
|
|
51 |
to leak the data. This has been fixed to always call the provided |
|
52 |
destroy notify. |
|
53 |
||
1.3.10
by Sebastien Bacher
Import upstream version 2.19.2 |
54 |
Notes about GLib 2.20
|
55 |
=====================
|
|
56 |
||
1.2.53
by Sebastien Bacher
Import upstream version 2.22.0 |
57 |
* The functions for launching applications (e.g. g_app_info_launch() +
|
1.3.10
by Sebastien Bacher
Import upstream version 2.19.2 |
58 |
friends) now passes a FUSE file:// URI if possible (requires gvfs |
59 |
with the FUSE daemon to be running and operational). With gvfs 2.26, |
|
60 |
FUSE file:// URIs will be mapped back to gio URIs in the GFile |
|
61 |
constructors. The intent of this change is to better integrate |
|
62 |
POSIX-only applications, see bug #528670 for the rationale. The |
|
63 |
only user-visible change is when an application needs to examine an |
|
64 |
URI passed to it (e.g. as a positional parameter). Instead of |
|
65 |
looking at the given URI, the application will now need to look at |
|
66 |
the result of g_file_get_uri() after having constructed a GFile |
|
67 |
object with the given URI. |
|
68 |
||
1.3.1
by Sebastian Dröge
Import upstream version 2.17.0 |
69 |
Notes about GLib 2.18
|
70 |
=====================
|
|
71 |
||
72 |
* The recommended way of using GLib has always been to only include the
|
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
73 |
toplevel headers glib.h, glib-object.h and gio.h. GLib enforces this by |
74 |
generating an error when individual headers are directly included. |
|
75 |
To help with the transition, the enforcement is not turned on by |
|
1.3.1
by Sebastian Dröge
Import upstream version 2.17.0 |
76 |
default for GLib headers (it is turned on for GObject and GIO). |
77 |
To turn it on, define the preprocessor symbol G_DISABLE_SINGLE_INCLUDES. |
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
78 |
|
1.2.32
by Sebastien Bacher
Import upstream version 2.15.1 |
79 |
Notes about GLib 2.16
|
80 |
=====================
|
|
81 |
||
82 |
* GLib now includes GIO, which adds optional dependencies against libattr
|
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
83 |
and libselinux for extended attribute and SELinux support. Use |
1.2.32
by Sebastien Bacher
Import upstream version 2.15.1 |
84 |
--disable-xattr and --disable-selinux to build without these. |
85 |
||
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
86 |
Notes about GLib 2.10
|
87 |
=====================
|
|
88 |
||
89 |
* The functions g_snprintf() and g_vsnprintf() have been removed from
|
|
90 |
the gprintf.h header, since they are already declared in glib.h. This |
|
91 |
doesn't break documented use of gprintf.h, but people have been known |
|
92 |
to include gprintf.h without including glib.h. |
|
93 |
||
94 |
* The Unicode support has been updated to Unicode 4.1. This adds several
|
|
95 |
new members to the GUnicodeBreakType enumeration. |
|
96 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
97 |
* The support for Solaris threads has been retired. Solaris has provided
|
98 |
POSIX threads for long enough now to have them available on every |
|
99 |
Solaris platform. |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
100 |
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
101 |
* 'make check' has been changed to validate translations by calling
|
102 |
msgfmt with the -c option. As a result, it may fail on systems with |
|
103 |
older gettext implementations (GNU gettext < 0.14.1, or Solaris gettext). |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
104 |
'make check' will also fail on systems where the C compiler does not |
105 |
support ELF visibility attributes. |
|
106 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
107 |
* The GMemChunk API has been deprecated in favour of a new 'slice
|
108 |
allocator'. See the g_slice documentation for more details. |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
109 |
|
110 |
* A new type, GInitiallyUnowned, has been introduced, which is
|
|
111 |
intended to serve as a common implementation of the 'floating reference' |
|
112 |
concept that is e.g. used by GtkObject. Note that changing the |
|
113 |
inheritance hierarchy of a type can cause problems for language |
|
114 |
bindings and other code which needs to work closely with the type |
|
115 |
system. Therefore, switching to GInitiallyUnowned should be done |
|
116 |
carefully. g_object_compat_control() has been added to GLib 2.8.5 |
|
117 |
to help with the transition. |
|
118 |
||
119 |
Notes about GLib 2.6.0
|
|
120 |
======================
|
|
121 |
||
122 |
* GLib 2.6 introduces the concept of 'GLib filename encoding', which is the
|
|
123 |
on-disk encoding on Unix, but UTF-8 on Windows. All GLib functions |
|
124 |
returning or accepting pathnames have been changed to expect |
|
125 |
filenames in this encoding, and the common POSIX functions dealing |
|
126 |
with pathnames have been wrapped. These wrappers are declared in the |
|
127 |
header <glib/gstdio.h> which must be included explicitly; it is not |
|
128 |
included through <glib.h>. |
|
129 |
||
130 |
On current (NT-based) Windows versions, where the on-disk file names |
|
131 |
are Unicode, these wrappers use the wide-character API in the C |
|
132 |
library. Thus applications can handle file names containing any |
|
133 |
Unicode characters through GLib's own API and its POSIX wrappers, |
|
134 |
not just file names restricted to characters in the system codepage. |
|
135 |
||
136 |
To keep binary compatibility with applications compiled against |
|
137 |
older versions of GLib, the Windows DLL still provides entry points |
|
138 |
with the old semantics using the old names, and applications |
|
139 |
compiled against GLib 2.6 will actually use new names for the |
|
140 |
functions. This is transparent to the programmer. |
|
141 |
||
142 |
When compiling against GLib 2.6, applications intended to be |
|
143 |
portable to Windows must take the UTF-8 file name encoding into |
|
144 |
consideration, and use the gstdio wrappers to access files whose |
|
145 |
names have been constructed from strings returned from GLib. |
|
146 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
147 |
* Likewise, g_get_user_name() and g_get_real_name() have been changed
|
148 |
to return UTF-8 on Windows, while keeping the old semantics for |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
149 |
applications compiled against older versions of GLib. |
150 |
||
151 |
* The GLib uses an '_' prefix to indicate private symbols that
|
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
152 |
must not be used by applications. On some platforms, symbols beginning |
153 |
with prefixes such as _g will be exported from the library, on others not. |
|
154 |
In no case can applications use these private symbols. In addition to that, |
|
155 |
GLib+ 2.6 makes several symbols private which were not in any installed |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
156 |
header files and were never intended to be exported. |
157 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
158 |
* To reduce code size and improve efficiency, GLib, when compiled
|
159 |
with the GNU toolchain, has separate internal and external entry |
|
160 |
points for exported functions. The internal names, which begin with |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
161 |
IA__, may be seen when debugging a GLib program. |
162 |
||
163 |
* On Windows, GLib no longer opens a console window when printing
|
|
164 |
warning messages if stdout or stderr are invalid, as they are in |
|
165 |
"Windows subsystem" (GUI) applications. Simply redirect stdout or |
|
166 |
stderr if you need to see them. |
|
167 |
||
168 |
* The child watch functionality tends to reveal a bug in many
|
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
169 |
thread implementations (in particular the older LinuxThreads |
170 |
implementation on Linux) where it's not possible to call waitpid() |
|
171 |
for a child created in a different thread. For this reason, for |
|
172 |
maximum portability, you should structure your code to fork all |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
173 |
child processes that you want to wait for from the main thread. |
174 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
175 |
* A problem was recently discovered with g_signal_connect_object();
|
176 |
it doesn't actually disconnect the signal handler once the object being |
|
177 |
connected to dies, just disables it. See the API docs for the function |
|
178 |
for further details and the correct workaround that will continue to |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
179 |
work with future versions of GLib. |
180 |
||
181 |
How to report bugs
|
|
182 |
==================
|
|
183 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
184 |
Bugs should be reported to the GNOME bug tracking system. |
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
185 |
(http://bugzilla.gnome.org, product glib.) You will need |
186 |
to create an account for yourself. |
|
187 |
||
188 |
In the bug report please include: |
|
189 |
||
190 |
* Information about your system. For instance:
|
|
191 |
||
192 |
- What operating system and version
|
|
193 |
- For Linux, what version of the C library
|
|
194 |
||
195 |
And anything else you think is relevant. |
|
196 |
||
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
197 |
* How to reproduce the bug.
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
198 |
|
1.2.45
by Sebastien Bacher
Import upstream version 2.20.1 |
199 |
If you can reproduce it with one of the test programs that are built |
200 |
in the tests/ subdirectory, that will be most convenient. Otherwise, |
|
201 |
please include a short test program that exhibits the behavior. |
|
202 |
As a last resort, you can also provide a pointer to a larger piece |
|
1.2.21
by Sebastien Bacher
Import upstream version 2.12.12 |
203 |
of software that can be downloaded. |
204 |
||
205 |
* If the bug was a crash, the exact text that was printed out
|
|
206 |
when the crash occured. |
|
207 |
||
208 |
* Further information such as stack traces may be useful, but
|
|
209 |
is not necessary. |
|
210 |
||
211 |
Patches
|
|
212 |
=======
|
|
213 |
||
214 |
Patches should also be submitted to bugzilla.gnome.org. If the |
|
215 |
patch fixes an existing bug, add the patch as an attachment |
|
216 |
to that bug report. |
|
217 |
||
218 |
Otherwise, enter a new bug report that describes the patch, |
|
219 |
and attach the patch to that bug report. |
|
220 |
||
1.9.1
by Emilio Pozuelo Monfort
Import upstream version 2.23.1 |
221 |
Patches should be in unified diff form. (The -up option to GNUdiff.) |