equal
deleted
inserted
replaced
317 { |
317 { |
318 const TInt count( iViews->Count() ); |
318 const TInt count( iViews->Count() ); |
319 |
319 |
320 for ( TInt i = 0; i < count; ++i ) |
320 for ( TInt i = 0; i < count; ++i ) |
321 { |
321 { |
322 CAknView* view( iViews->At( i ) ); |
322 CAknView* view( iViews->At( i ) ); |
323 |
323 if ( view->Id() == aViewId ) |
324 if ( view->Id() == aViewId ) |
324 { |
325 { |
325 // remove the deleted view from iExtensione's list. Or the pointer |
326 iViews->Delete( i ); |
326 // is invalid |
327 CCoeAppUi::DeregisterView( *view ); |
327 TInt index = iExtension->iActiveViews.Find(view); |
328 delete view; |
328 if ( index >= 0 && index < iExtension->iActiveViews.Count() ) |
329 return; |
329 { |
330 } |
330 iExtension->iActiveViews.Remove(index); |
|
331 view->AknViewDeactivated(); |
|
332 } |
|
333 |
|
334 iViews->Delete( i ); |
|
335 CCoeAppUi::DeregisterView( *view ); |
|
336 delete view; |
|
337 return; |
|
338 } |
331 } |
339 } |
332 } |
340 } |
333 |
341 |
334 // ----------------------------------------------------------------------------- |
342 // ----------------------------------------------------------------------------- |
335 // CAknViewAppUi::View |
343 // CAknViewAppUi::View |
616 |
624 |
617 // Number of views is always smaller than already reserved array |
625 // Number of views is always smaller than already reserved array |
618 // (default granularity is 8) -> no memory allocation failures. |
626 // (default granularity is 8) -> no memory allocation failures. |
619 if ( splitView ) |
627 if ( splitView ) |
620 { |
628 { |
621 iExtension->iActiveViews.Append( View( splitView->iViewIds[0] ) ); |
629 error = iExtension->iActiveViews.Append( View( splitView->iViewIds[0] ) ); |
622 iExtension->iActiveViews.Append( View( splitView->iViewIds[1] ) ); |
630 if (KErrNone == error) |
|
631 { |
|
632 error = iExtension->iActiveViews.Append( View( splitView->iViewIds[1] ) ); |
|
633 } |
623 } |
634 } |
624 else |
635 else |
625 { |
636 { |
626 iExtension->iActiveViews.Append( item->iNewView ); |
637 error = iExtension->iActiveViews.Append( item->iNewView ); |
627 } |
638 } |
628 |
639 |
629 iView = item->iNewView; |
640 iView = item->iNewView; |
630 } |
641 } |
631 else |
642 else |