2008-11-28 Matthias Clasen <mclasen@redhat.com>
Bug 559633 – gtk_image_new_from_gicon does not always work for
.desktop files
* gdesktopappinfo.c (g_desktop_app_info_new_from_keyfile): Ignore
extensions on icon names. Proposed by Axel von Bertoldi.
svn path=/trunk/; revision=7698
names
* glocalfile.c (g_local_file_set_display_name): Correctly set
error conditions if the new name is e.g. too long. Reported
by Leonardo Ferreira Fontenelle.
svn path=/trunk/; revision=7696
2008-11-28 Matthias Clasen <mclasen@redhat.com>
Bug 547481 – g_data_input_stream_read_line behaves not as stated in
the docs
* gdatainputstream.c (g_data_input_stream_read_line): Behave as
documented and include the line end in the returned string.
Pointed out by Paul Pogonyshev.
* tests/data-input-stream.c: Fix the read_line test to test the
documented behaviour.
svn path=/trunk/; revision=7694
* gdesktopappinfo.c (g_app_info_can_delete): Only allow deleting
files that have been created by g_app_info_create_from_commandline.
svn path=/trunk/; revision=7693
2008-11-28 Matthias Clasen <mclasen@redhat.com>
Bug 559110 – Do not include libintl.h after glibintl.h
* glib/glibintl.h: Define bind_textdomain_codeset in the DISABLE_NLS
branch. Patch by Peter Kjellerstedt.
* glib/gutil.c: Don't include libintl.h directly.
svn path=/trunk/; revision=7688
2008-11-28 Matthias Clasen <mclasen@redhat.com>
Bug 562393 – g_buffered_input_stream_read_byte broken if data
available
* gio/gbufferedinputstream.c (g_buffered_input_stream_read_byte): Fix
handling of buffered content. Patch by Philip Withnall
* gio/tests/buffered-input-stream.c: Add a testcase for this bug.
* gio/tests/Makefile.am: And build it
svn path=/trunk/; revision=7686
This change makes us stop calling g_irepository_get_default inside ginfo.c,
which won't work for non-default repositories.
Change GIBaseInfo to not only keep track of its source repository,
we hold a reference. This makes memmgt much clearer.
svn path=/trunk/; revision=970
2008-11-24 Johan Dahlin <jdahlin@async.com.br>
* girepository/gdump.c (dump_type): Remove a warning,
be less verbose on error on fundamental types.
svn path=/trunk/; revision=963
In order to set and get enum and flag fields in structures, we need
to know the integral type that the enumeration is stored as. We are already
computing that at compile time in order to compute struct offsets, so the
easiest thing to do is to save that in the typelib.
* docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c
girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob
and compute and save it at compile time.
* girepository/girepository.h girepository/ginfo.c:
Add g_enum_info_get_storage_type().
* girepository/gfield.c: Implement reading and writing enum and flags fields
based on the storage type.
http://bugzilla.gnome.org/show_bug.cgi?id=561296
svn path=/trunk/; revision=944
Add a '*' to the serialization for the cases where we set is_pointer
in the type blob we write out depending on node->is_pointer. Don't
add the '*' in the cases where is_pointer is set or not set in a
fixed fashion.
http://bugzilla.gnome.org/show_bug.cgi?id=561087
svn path=/trunk/; revision=931
Include the size and alignment of structures and unions in the typelib,
and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
* docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
to StructBlob and UnionBlob.
* girepository/ginfo.c girepository/girepository.h:
Add g_[struct|union]_get[size|alignment]().
* test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
svn path=/trunk/; revision=930
Add convenience functions g_field_info_set_field() and
g_field_info_get_field() to set and get fields based on the offsets
in GIFieldInfo.
svn path=/trunk/; revision=929
2008-11-12 Tor Lillqvist <tml@novell.com>
Bug 556415 - Crash on Windows 2000 in g_winhttp_vfs_init()
* win32/gwinhttpvfs.h: Move the set of function pointers to
winhttp.dll into a separate struct GWinHttpDllFuncs. Just have a
pointer to that in the GWinHttpVfsClass.
* win32/gwinhttpvfs.c: Move the lookup of functions from
winhttp.dll into a function of its own, that stores the pointers
in a separate GWinHttpDllFuncs variable. Add two bookeeping
booleans lookup_done and funcs_found.
Don't call g_io_extension_point_implement() to register the
winhttp extension unless winhttp.dll has been successfully loaded
and the required functions found in it.
* win32/gwinhttp*.c: Adjust calls of the functions looked up from
winhttp.dll correspondingly.
svn path=/trunk/; revision=7648
Keep track of all modules parsed within a GIrParser, and when a
module is referenced a second time, use the existing parsed copy
instead of reparsing.
svn path=/trunk/; revision=906
Fix some trivial bugs in managing the list of include modules.
(Add to module's list twice, not initialized to NULL, not freed.)
svn path=/trunk/; revision=905
When parsing, keep keep a separate hash tables of aliases and
'disguised' flags for each module, and store that on the module.
After parsing an include merge the aliases/disguised flags to the
including module.
Remove 'prefix_aliases' flag and always prefix aliases/disguised
structure types when parsing; this simplifies the code considerably.
svn path=/trunk/; revision=904
The logic in girparser.c didn't work very well if there were multiple
<namespace/> nodes within a single <repository/> (context->namespace
was always the overall filename and not the the name specified in the
<namespace/> element for one thing; this would cause aliases to
be mis-prefixed in include modules.) Also check that the "name" in
the <namespace/> node matches the filename.
svn path=/trunk/; revision=902
Add a toplevel GirParser object to hold state that is global across
a compilation. Currently just holds the include path, but will
eventually also keep a cached list of parsed modules.
svn path=/trunk/; revision=901