Author: ek.kato
Date: Mon Aug 25 23:30:18 2008
New Revision: 5534
Modified:
trunk/qt4/immodule/candidatewindow.cpp
Log:
* qt4/immodule/candidatewindow.cpp
- (CandidateWindow::CandidateWindow)
- (CandidateWindow::activateCandwin)
- (CandidateWindow::deactivateCandwin)
- (CandidateWindow::slotCandidateSelected)
- (CandidateWindow::moveEvent)
- (CandidateWindow::resizeEvent)
- Delay initialization of subWin (bug #17302).
Modified: trunk/qt4/immodule/candidatewindow.cpp
==============================================================================
--- trunk/qt4/immodule/candidatewindow.cpp (original)
+++ trunk/qt4/immodule/candidatewindow.cpp Mon Aug 25 23:30:18 2008
@@ -98,7 +98,7 @@
isAlwaysLeft = false;
- subWin = new SubWindow( 0 );
+ subWin = NULL;
}
CandidateWindow::~CandidateWindow()
@@ -123,11 +123,15 @@
candidateIndex = -1;
displayLimit = dLimit;
pageIndex = 0;
+
+ if ( !subWin )
+ subWin = new SubWindow( this );
}
void CandidateWindow::deactivateCandwin()
{
- subWin->cancelHook();
+ if ( subWin )
+ subWin->cancelHook();
hide();
clearCandidates();
@@ -378,14 +382,16 @@
void CandidateWindow::slotHookSubwindow( Q3ListViewItem * item )
{
- // cancel previous hook
- subWin->cancelHook();
-
- // hook annotation
- QString annotationString = item->text( 2 );
- if ( !annotationString.isEmpty() )
- {
- subWin->hookPopup( "Annotation", annotationString );
+ if ( subWin ) {
+ // cancel previous hook
+ subWin->cancelHook();
+
+ // hook annotation
+ QString annotationString = item->text( 2 );
+ if ( !annotationString.isEmpty() )
+ {
+ subWin->hookPopup( "Annotation", annotationString );
+ }
}
}
@@ -393,13 +399,15 @@
void CandidateWindow::moveEvent( QMoveEvent *e )
{
// move subwindow
- subWin->layoutWindow( e->pos().x() + width(), e->pos().y() );
+ if ( subWin )
+ subWin->layoutWindow( e->pos().x() + width(), e->pos().y() );
}
void CandidateWindow::resizeEvent( QResizeEvent *e )
{
// move subwindow
- subWin->layoutWindow( pos().x() + e->size().width(), pos().y() );
+ if ( subWin )
+ subWin->layoutWindow( pos().x() + e->size().width(), pos().y() );
}