Resolves: #i122027# Fixed crash when processing .uno:NumberType command

Reported by:  Ariel Constenla-Haile
Patch by:  Ariel Constenla-Haile
Review by: Andre Fischer
(cherry picked from commit 6a56f5db1d478297aedd3395a882fc2dcce80e82)

Change-Id: Idbcb46b617fc2d2e2d587cdd74226380a2019303
diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx
index 39807510..2916810 100644
--- a/sc/source/ui/view/formatsh.cxx
+++ b/sc/source/ui/view/formatsh.cxx
@@ -1131,45 +1131,49 @@ void ScFormatShell::ExecuteNumFormat( SfxRequest& rReq )
            break;

        case SID_NUMBER_TYPE_FORMAT:
            if ( pReqArgs )
            {
                SfxInt16Item aFormatItem((const SfxInt16Item&)rReq.GetArgs()->Get(nSlot));
                sal_uInt16 nFormat = aFormatItem.GetValue();
                switch(nFormat)
                const SfxPoolItem* pItem;
                if ( pReqArgs->GetItemState( nSlot, sal_True, &pItem ) == SFX_ITEM_SET )
                {
                case 0:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_NUMBER); //Modify
                    break;
                case 1:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_NUMBER, 2 ); //Modify
                    break;
                case 2:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_PERCENT );
                    break;
                case 3:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_CURRENCY );
                    break;
                case 4:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_DATE );
                    break;
                case 5:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_TIME );
                    break;
                case 6:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_SCIENTIFIC );
                    break;
                case 7:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_FRACTION );
                    break;
                case 8:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_LOGICAL );
                    break;
                case 9:
                    pTabViewShell->SetNumberFormat( NUMBERFORMAT_TEXT );
                    break;
                default:
                    ;
                    sal_uInt16 nFormat = ((SfxInt16Item *)pItem)->GetValue();
                    switch(nFormat)
                    {
                    case 0:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_NUMBER); //Modify
                        break;
                    case 1:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_NUMBER, 2 ); //Modify
                        break;
                    case 2:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_PERCENT );
                        break;
                    case 3:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_CURRENCY );
                        break;
                    case 4:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_DATE );
                        break;
                    case 5:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_TIME );
                        break;
                    case 6:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_SCIENTIFIC );
                        break;
                    case 7:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_FRACTION );
                        break;
                    case 8:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_LOGICAL );
                        break;
                    case 9:
                        pTabViewShell->SetNumberFormat( NUMBERFORMAT_TEXT );
                        break;
                    default:
                        ;
                    }
                    rReq.Done();
                }
                rReq.Done();
            }
            break;