Re: [Ekiga-devel-list] Win32 UTF-8 vs. Codepage or what so ever

Michael Rickmann wrote:
Ekiga's handling of Windows file names and device names is done mostly in UTF-8 which works as long as there are no national characters in the names. I have a German Windows and a USB headset which in Ekiga shows up as "USB-Ger" instead of "USB-Gerät" (USB device). Ok, I can click Ekiga's update devices and then there is a "USB-Gerät" which I can select thanks to the g_locale_to_utf8 support in ekiga/lib/gui/gmpreferences.c. However, the next time Ekiga is started it complains because it is unable to open the "USB-Ger".

I tried a similar approach as Eugen did when fixing bug #575907 (git c9aedde44825, 2009-04-21). But similar changes at the level of lib/components/ptlib device managers using g_locale_to_utf8 and back would not work for Windows. Presumably some library calls have been in between. For Win32 Ekiga the separation of (UTF-8) vs. (Codepage) with respect to Ptlib's device names is
(GUI + gconf) vs. (C-library + device strings).
A good place to convert the device strings to UTF-8 is gm_prefs_window_convert_string_list in ekiga/src/gui/preferences.cpp. Conversion from UTF-8 can only be done where we know that it is a device string, i. e. in the device gmconf-bridges. I have prepared three patches and tested them under Windows and for adverse effects also Linux.
ekiga03_isutf8.diff cleans up ekiga/lib/gui/gmpreferences.c. Linux is completely UTF-8 and for Win32 we have done the conversion to UTF-8 with the second patch earlier. Moreover double conversion to UTF-8 does not work when there are any special characters.

Commited, thanks!


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