Bug 182996 - Left-most chat tab at chat window looses international accentuation capacity
Summary: Left-most chat tab at chat window looses international accentuation capacity
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Chat Window (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 174451 180490 184678 185557 192690 195155 195965 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-03 14:05 UTC by Pedro de Carvalho Gomes
Modified: 2009-06-12 02:00 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro de Carvalho Gomes 2009-02-03 14:05:55 UTC
Version:           0.70.0 (using 4.2.00 (KDE 4.2.0) "release 83.1", KDE:KDE4:Factory:Desktop / openSUSE_11.1)
Compiler:          gcc
OS:                Linux (x86_64) release 2.6.27.7-9-default

I run KDE 4.2 with pt-BR input (LC_CTYPE="pt_BR.UTF-8"). I have set up my chat window policy to group all incoming messages to the same chat window. My keyboard layout is br-abnt2 (the one with ç)

If I start a first chat tab, then I start a second chat tab, the first tab (left-most) looses its accentuation capacity. I.E.: if I want to type 'ã', the usual way is to hit '~', then 'a'. But instead of 'ã', I get '~a', as If I have lost the internationalization capacity.

The same happens if I try to type 'à', 'ò', 'ê', 'ñ' or any other character that needs a key combination. The same does not happen If I type 'ç', because it a is unique character on my keyboard.

The funny thing is that this behaviour happens only at the left-most tab. But it starts to happen only after I have a second tab. I.E., if I start the chat window with a single tab, I will not happen until I have second tab. But since I have a second tab, if I close the first one, and then the second one becomes the first one, then it will have the same problem.

I guess it doen't matter the protocol, because I have faced the problem with both Windows Live Messanger and Jabber/Gtalk.
Comment 1 Roman Jarosz 2009-02-03 23:19:02 UTC
I was debugging this bug but didn't find out how to fix it yet. It looks like the problem is in the ChatView reparenting or something like that, because if I comment out the view->show(); in KopeteChatWindow::setPrimaryChatView and create second tab then the accents can be writen in first tab.

The workaround is to check "Always show tabs" in configure->behavior->chat
Comment 2 Roman Jarosz 2009-02-03 23:22:37 UTC
*** Bug 180490 has been marked as a duplicate of this bug. ***
Comment 3 Thiago Macieira 2009-02-06 13:42:25 UTC
This happens in ALL text inputs in Kopete, including in the main window and the configuration dialog.

This makes Kopete communication very hard in any language other than English, unusable for some. I'm raising the severity of this bug.
Comment 4 Thiago Macieira 2009-02-06 14:46:14 UTC
SVN commit 922100 by thiago:

Move this code into a K_GLOBAL_STATIC. There are two problems with
this code:

The first is that it calls i18n() before KLocale and KComponentData
have initialised. That means we never get any translation.

The second is that it causes the QIconvCodec in Qt to initialise
before the locale system in libc is initialised (that's done inside
QCoreApplication's constructor). This means this thread is confined to
ASCII, thereby causing all X11 key translations to be broken.

This sounds like a solution to bug 182996, but my symptom was wildly
different: I had the problem in any and every text input. Please
retest the bug's symptom and close if it's fixed.

CCBUG:182996

 M  +24 -10    kopeteutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=922100
Comment 5 Thiago Macieira 2009-02-06 14:54:37 UTC
Apparently this didn't fix it, but my issue is gone. Re-lowering the priority
Comment 6 Roman Jarosz 2009-02-08 00:51:16 UTC
Ok new information.

The accents don't work because in QXIMInputContext::x11FilterEvent (qt/src/gui/inputmethod/qximinputcontext_x11.cpp) the XFilterEvent(event, keywidget->effectiveWinId()) returns false (it returns true when accents are printed correctly). So now the question is why XFilterEvent doesn't work.
Comment 7 Roman Jarosz 2009-02-08 22:00:25 UTC
It's Qt bug was reported to TT, will assign ID when I get it
Comment 8 Roman Jarosz 2009-02-11 18:56:29 UTC
The TT bug number is 244337.
Comment 9 Roman Jarosz 2009-02-13 22:19:08 UTC
SVN commit 925685 by rjarosz:

Backport thiago's commit 922100.
CCBUG:182996



 M  +24 -10    kopeteutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=925685
Comment 10 Roman Jarosz 2009-02-18 08:51:59 UTC
*** Bug 184678 has been marked as a duplicate of this bug. ***
Comment 11 Roman Jarosz 2009-02-18 22:07:18 UTC
*** Bug 174451 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2009-02-26 11:48:12 UTC
*** Bug 185557 has been marked as a duplicate of this bug. ***
Comment 13 Romain Henriet 2009-03-09 22:11:41 UTC
Same problem for me (Kubuntu Intrepid KDE 4.2.1)
Comment 14 Roman Jarosz 2009-03-18 11:25:10 UTC
According to Qt TT, this is fixed and should be in some 4.5.x Qt release (most likely next). I'll will close this when Qt with this fix is released.
Comment 15 Roman Jarosz 2009-04-25 22:45:37 UTC
Fixed in Qt 4.5.1
Comment 16 Roman Jarosz 2009-05-14 22:07:36 UTC
*** Bug 192690 has been marked as a duplicate of this bug. ***
Comment 17 Dario Andres 2009-06-04 01:24:25 UTC
*** Bug 195155 has been marked as a duplicate of this bug. ***
Comment 18 Dario Andres 2009-06-12 01:19:54 UTC
*** Bug 195965 has been marked as a duplicate of this bug. ***