summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2002-10-21 11:16:03 +0000
committerPhilipp Lohmann <pl@openoffice.org>2002-10-21 11:16:03 +0000
commitde77a5053d3606d949956d62b2fca30542bf7aaf (patch)
treee3bdebd72632c0aae10ec8eef7b96694ac5e6dae /vcl
parent60362f9f0714588389c830c37fd9264c88901456 (diff)
#103973# in all callbacks check whether frame was already removed
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/source/app/i18n_cb.cxx28
1 files changed, 16 insertions, 12 deletions
diff --git a/vcl/unx/source/app/i18n_cb.cxx b/vcl/unx/source/app/i18n_cb.cxx
index d74f9aa3abad..9426d12a9198 100644
--- a/vcl/unx/source/app/i18n_cb.cxx
+++ b/vcl/unx/source/app/i18n_cb.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: i18n_cb.cxx,v $
*
- * $Revision: 1.14 $
+ * $Revision: 1.15 $
*
- * last change: $Author: hr $ $Date: 2002-02-21 14:56:14 $
+ * last change: $Author: pl $ $Date: 2002-10-21 12:16:02 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -125,13 +125,14 @@ PreeditDoneCallback ( XIC ic, XPointer client_data, XPointer call_data )
preedit_data_t* pPreeditData = (preedit_data_t*)client_data;
if (pPreeditData->eState == ePreeditStatusActive )
{
+ if( pPreeditData->pFrame )
+ {
#ifdef __synchronous_extinput__
- pPreeditData->pFrame->maFrameData.Call(
- SALEVENT_ENDEXTTEXTINPUT, (void*)NULL );
+ pPreeditData->pFrame->maFrameData.Call( SALEVENT_ENDEXTTEXTINPUT, (void*)NULL );
#else
- pPreeditData->pFrame->maFrameData.PostExtTextEvent(
- SALEVENT_ENDEXTTEXTINPUT, (void*)NULL );
+ pPreeditData->pFrame->maFrameData.PostExtTextEvent( SALEVENT_ENDEXTTEXTINPUT, (void*)NULL );
#endif
+ }
}
pPreeditData->eState = ePreeditStatusStartPending;
}
@@ -465,7 +466,7 @@ PreeditDrawCallback(XIC ic, XPointer client_data,
(void*)&aTextEvent);
if (aTextEvent.mpTextAttr)
free((void*)aTextEvent.mpTextAttr);
- if (pPreeditData->aText.nLength == 0)
+ if (pPreeditData->aText.nLength == 0 && pPreeditData->pFrame )
pPreeditData->pFrame->maFrameData.Call( SALEVENT_ENDEXTTEXTINPUT, (void*)NULL );
#else
@@ -482,11 +483,14 @@ PreeditDrawCallback(XIC ic, XPointer client_data,
pTextEvent->mnDeltaStart = 0; // call_data->chg_first;
pTextEvent->mbOnlyCursor = False;
- pPreeditData->pFrame->maFrameData.PostExtTextEvent (SALEVENT_EXTTEXTINPUT,
- (void*)pTextEvent);
- if (pPreeditData->aText.nLength == 0)
- pPreeditData->pFrame->maFrameData.PostExtTextEvent( SALEVENT_ENDEXTTEXTINPUT,
- (void*)NULL );
+ if( pPreeditData->pFrame )
+ {
+ pPreeditData->pFrame->maFrameData.PostExtTextEvent (SALEVENT_EXTTEXTINPUT,
+ (void*)pTextEvent);
+ if (pPreeditData->aText.nLength == 0)
+ pPreeditData->pFrame->maFrameData.PostExtTextEvent( SALEVENT_ENDEXTTEXTINPUT,
+ (void*)NULL );
+ }
#endif
if (pPreeditData->aText.nLength == 0)