diff --git a/symbian/inc/symaskdlg.h b/symbian/inc/symaskdlg.h index ace47c9d2..6bd860141 100644 --- a/symbian/inc/symaskdlg.h +++ b/symbian/inc/symaskdlg.h @@ -35,6 +35,8 @@ class CXWAskDlg : public CEikDialog static TBool DoAskDlg( MPFORMAL XWStreamCtxt* aStream, TBool aKillStream ); static TBool DoAskDlg( MPFORMAL TBuf16<128>* aMessage ); + static void DoInfoDlg( MPFORMAL XWStreamCtxt* aStream, TBool aKillStream ); + ~CXWAskDlg(); private: diff --git a/symbian/src/symaskdlg.cpp b/symbian/src/symaskdlg.cpp index d98aa6e43..ed6892dc4 100644 --- a/symbian/src/symaskdlg.cpp +++ b/symbian/src/symaskdlg.cpp @@ -159,12 +159,20 @@ TBool CXWAskDlg::OkToExitL( TInt aButtonID /* pressed button */ ) CXWAskDlg::DoAskDlg( MPFORMAL XWStreamCtxt* aStream, TBool aKillStream ) { CXWAskDlg* me = new(ELeave)CXWAskDlg( MPPARM(mpool) aStream, aKillStream ); - return me->ExecuteLD( R_XWORDS_INFO_ONLY ); + return me->ExecuteLD( R_XWORDS_CONFIRMATION_QUERY ); } /* static */ TBool CXWAskDlg::DoAskDlg( MPFORMAL TBuf16<128>* aMessage ) { CXWAskDlg* me = new(ELeave)CXWAskDlg( MPPARM(mpool) aMessage ); - return me->ExecuteLD( R_XWORDS_INFO_ONLY ); + return me->ExecuteLD( R_XWORDS_CONFIRMATION_QUERY ); } + +/* static */ void +CXWAskDlg::DoInfoDlg( MPFORMAL XWStreamCtxt* aStream, TBool aKillStream ) +{ + CXWAskDlg* me = new(ELeave)CXWAskDlg( MPPARM(mpool) aStream, aKillStream ); + (void)me->ExecuteLD( R_XWORDS_INFO_ONLY ); +} + diff --git a/symbian/src/xwappview.cpp b/symbian/src/xwappview.cpp index 1ab16f520..e911291a5 100644 --- a/symbian/src/xwappview.cpp +++ b/symbian/src/xwappview.cpp @@ -616,9 +616,10 @@ CXWordsAppView::HandleCommand( TInt aCommand ) case XW_VALUES_COMMAND: if ( iGame.server != NULL ) { XWStreamCtxt* stream = MakeSimpleStream( NULL ); - - server_formatDictCounts( iGame.server, stream, 4 ); /* 4: ncols */ - (void)CXWAskDlg::DoAskDlg(MPPARM(mpool) stream, ETrue); + if ( stream != NULL ) { + server_formatDictCounts( iGame.server, stream, 4 ); /* 4: ncols */ + CXWAskDlg::DoInfoDlg(MPPARM(mpool) stream, ETrue); + } } break; @@ -627,7 +628,7 @@ CXWordsAppView::HandleCommand( TInt aCommand ) XWStreamCtxt* stream = MakeSimpleStream( NULL ); if ( stream ) { board_formatRemainingTiles( iGame.board, stream ); - (void)CXWAskDlg::DoAskDlg(MPPARM(mpool) stream, ETrue); + CXWAskDlg::DoInfoDlg(MPPARM(mpool) stream, ETrue); } } break; @@ -647,7 +648,7 @@ CXWordsAppView::HandleCommand( TInt aCommand ) model_writeGameHistory( iGame.model, stream, iGame.server, gameOver ); if ( stream_getSize( stream ) > 0 ) { - (void)CXWAskDlg::DoAskDlg( MPPARM(mpool) stream, ETrue ); + CXWAskDlg::DoInfoDlg( MPPARM(mpool) stream, ETrue ); } } @@ -800,7 +801,7 @@ CXWordsAppView::DisplayFinalScoresL() server_writeFinalScores( iGame.server, stream ); - (void)CXWAskDlg::DoAskDlg( MPPARM(mpool) stream, ETrue ); + CXWAskDlg::DoInfoDlg( MPPARM(mpool) stream, ETrue ); } /* displayFinalScores */ TBool