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



Eugen Dedu wrote:
Michael Rickmann wrote:
Am Samstag, den 18.07.2009, 21:54 +0200 schrieb Eugen Dedu:
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".
Hi Michael,

Until one month ago, linux usb subsystem have gotten the device name, translated it from utf-16 to latin-1 and give device names as latin-1 to applications.

The http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a853a3d4eb2edb066248a39f0634f6f5858816a0 commit changes that, so starting with 2.6.31 my ekiga patch should be removed (or make #ifdef linuxversion <= 2.6.30...)

Hi Eugen,
I rechecked what I had done before and found that your patch with the
lib/engine/components/ptlib/utils.cpp and other files indeed works for
WIN32 as well, if you use g_locale_to_utf8 and g_locale_from_utf8. I
must have done some thing wrong the first time I tried. So my new second
patch even simplifies the code, it is tested for head and stable.

I pushed it unchanged, thanks!

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.
Should be definetly applied to remove old code.

I have not time to look into this right now. I see only two removes of locale_to_utf, I do not understand why there is not the same number of utf_to_locale too. Do you know why?

I think I have the answer: gm_conf_set_string is done on main.cpp, function add_device_response_cb, and there is no conversion. However, when reading gconf entries, there is conversion, and you wish to remove that, is that right?

--
Eugen


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