Ticket #2237: drag-out-of-palettes-exception.patch

File drag-out-of-palettes-exception.patch, 5.0 KB (added by deni, 2 years ago)
  • modules/org.sophie2.main.app.layout/src/main/java/org/sophie2/main/app/layout/right/library/LibraryTabLogic.java

    ### Eclipse Workspace Patch 1.0
    #P sophie
     
    9696                        ResourceAccess frameAccess = currentFrameView.getAccess(); 
    9797 
    9898                        assert source.firstSelectedItem().get() instanceof FrameTemplateItem; 
    99  
     99                        assert source.firstSelectedItem().get() != null;                         
    100100                        FrameH template = ((FrameTemplateItem)source.firstSelectedItem().get()).frame().get(); 
    101101 
    102102                        assert template.getRef().isAbsolute(); 
     
    148148                                return true; 
    149149                        } 
    150150                         
     151                        assert source.firstSelectedItem().get() instanceof FrameTemplateItem; 
     152                        assert source.firstSelectedItem().get() != null; 
    151153                        FrameTemplateItem firstItem = (FrameTemplateItem)source.firstSelectedItem().get(); 
    152154                        ResourceRefR4 template = firstItem.frame().get().getRef(); 
    153155                        assert template.isAbsolute(); 
     
    185187                } 
    186188 
    187189                public boolean handle(EventR3 event) { 
    188                         ResourceH resource = ((FrameTemplateItem) event.getSource( 
    189                                         ListPalette.class).firstSelectedItem().get()).frame().get(); 
     190                        Object firstItem = event.getSource(ListPalette.class).firstSelectedItem().get(); 
     191                        if (firstItem == null || !(firstItem instanceof FrameTemplateItem)) { 
     192                                return false; 
     193                        } 
     194                        ResourceH resource = ((FrameTemplateItem) firstItem).frame().get(); 
    190195                        setDndTransferable(event, resource); 
    191196                        return true; 
    192197                } 
     
    291296                        if (bookDocView.workArea().get().getRootPageView() != null) { 
    292297                                ResourceAccess pageAccess = bookDocView.workArea().get().getRootPageView().getAccess(); 
    293298                                assert source.firstSelectedItem().get() instanceof PageTemplateItem; 
    294  
     299                                assert source.firstSelectedItem().get() != null; 
    295300                                PageH template = ((PageTemplateItem)source.firstSelectedItem().get()).page().get(); 
    296301                                assert template.getRef().isAbsolute(); 
    297302                                final ResourceRefR4 templateRef = ResourceRefR4.getRelativeRef(pageAccess.getRef(), 
     
    333338                                return true; 
    334339                        } 
    335340                         
     341                        assert source.firstSelectedItem().get() instanceof PageTemplateItem; 
     342                        assert source.firstSelectedItem().get() != null; 
    336343                        PageTemplateItem firstItem = (PageTemplateItem)source.firstSelectedItem().get(); 
    337344                        ResourceRefR4 template = firstItem.page().get().getRef(); 
    338345                        assert template.isAbsolute(); 
     
    372379                } 
    373380 
    374381                public boolean handle(EventR3 event) { 
    375                         ResourceH resource = ((PageTemplateItem) event.getSource( 
    376                                         ListPalette.class).firstSelectedItem().get()).page().get(); 
     382                        Object firstItem = event.getSource(ListPalette.class).firstSelectedItem().get(); 
     383                        if (firstItem == null || !(firstItem instanceof PageTemplateItem)) { 
     384                                return false; 
     385                        } 
     386                        ResourceH resource = ((PageTemplateItem) firstItem).page().get(); 
    377387                        setDndTransferable(event, resource); 
    378388                        return true; 
    379389                } 
     
    409419                        BookTemplatesPalette source = event.getSource(BookTemplatesPalette.class); 
    410420                        AppMainWindow mainWindow = AppViewUtil.findMainWindow(source); 
    411421 
     422                        assert source.firstSelectedItem().get() instanceof BookTemplateItem; 
     423                        assert source.firstSelectedItem().get() != null; 
    412424                        BookTemplateItem firstItem = (BookTemplateItem)source.firstSelectedItem().get(); 
    413425 
    414426                        BookDocView bookView = AppViewUtil.getView(mainWindow, firstItem.bookTemplate().get().book().get(), BookDocView.class); 
     
    436448                } 
    437449 
    438450                public boolean handle(EventR3 event) { 
    439                         ResourceH resource = ((BookTemplateItem) event.getSource( 
    440                                         ListPalette.class).firstSelectedItem().get()).bookTemplate().get().getHelper(); 
     451                        Object firstItem = event.getSource(ListPalette.class).firstSelectedItem().get(); 
     452                        if (firstItem == null || !(firstItem instanceof BookTemplateItem)) { 
     453                                return false; 
     454                        } 
     455                        ResourceH resource = ((BookTemplateItem) firstItem).bookTemplate().get().getHelper(); 
    441456                        setDndTransferable(event, resource); 
    442457                        return true; 
    443458                } 
  • modules/org.sophie2.main.func.resources/src/main/java/org/sophie2/main/func/resources/view/AllResourcesPalette.java

     
    330330 
    331331                                ListPalette<?> palette = event.getSource(ListPalette.class); 
    332332 
    333                                 ResourceH res = ((ResourceItem) palette.firstSelectedItem().get()).resource().get(); 
     333                                Object firstItem = palette.firstSelectedItem().get(); 
     334                                if (firstItem == null || !(firstItem instanceof ResourceItem)) { 
     335                                        return false; 
     336                                } 
     337                                ResourceH res = ((ResourceItem) firstItem).resource().get(); 
    334338 
    335339                                SophieTransferable rt = new ResourceTransferable(res); 
    336340