Re: Problem with 'gio/gwin32appinfo.c'



On 15.06.2015 19:57, John Emmas wrote:
Just querying a new MSVC build problem after updating today from git 
master.  This is a different issue from the one I reported earlier with 
'read_resource_string()'

'gio/gwin32appinfo.c' used to contain the following 4 x functions:-

       g_app_info_get_all_for_type()
       g_app_info_get_fallback_for_type()
       g_app_info_get_recommended_for_type()
       g_app_info_reset_type_associations()

After today's update they all seem to be missing now (and as such, the 
linker reports them as unresolved symbols).  However, I can't see 
anything in the git log to suggest when (or why) they got removed.  Have 
they been moved somewhere else or has something gone wrong with my 
update today??

These functions were not implemented during the w32 appinfo rewrite.

IIRC, i haven't tried to implement them because it was not immediately
clear how they should be implemented.

First three (get_*_for_type) return X + Y, X and Y respectedly, where X is
the list of apps that support a MIME/type specifically, and Y is the list
of apps that support a MIME/type as a result of MIME/type subclassing. This
is somewhat a mess, because content type support on W32 is inadequate
(there's a bug for that, still in progress), so i just paid them no attention.

g_app_info_get_recommended_for_type() and
g_app_info_get_fallback_for_type() were dummies that called
g_app_info_get_all_for_type().

It might be possible to quickly hack together an
g_app_info_get_all_for_type() implementation by pretending that content
type is an extension (it still is, until content type support bug is
resolved), pulling appropriate record from the "GHashTable *extensions",
reading the ->handlers hashtable and making appinfo objects from its
contents; also maybe reading the ->other_apps hashtable and doing the same.
Such implementation will be roughly as good as the old one was.

g_app_info_reset_type_associations() undoes things that some other APIs do.
Since these APIs are not implemented, g_app_info_reset_type_associations()
is not implemented either. Previously g_app_info_reset_type_associations()
was a dummy, now it's just missing.

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

Attachment: 0x922360B0.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]