Changeset 4970 in josm for trunk


Ignore:
Timestamp:
2012-02-17T22:57:46+01:00 (8 years ago)
Author:
Don-vip
Message:

see #7386 - call ok() only on initialized settings + fix NPE in plugins management

Location:
trunk/src/org/openstreetmap/josm/gui/preferences
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java

    r4968 r4970  
    228228     */
    229229    public List<PluginInformation> getPluginsScheduledForUpdateOrDownload() {
    230         return model.getPluginsScheduledForUpdateOrDownload();
     230        return model != null ? model.getPluginsScheduledForUpdateOrDownload() : null;
    231231    }
    232232
  • trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java

    r4968 r4970  
    230230        final List<PluginInformation> toDownload = preference.getPluginsScheduledForUpdateOrDownload();
    231231        final PluginDownloadTask task;
    232         if (! toDownload.isEmpty()) {
     232        if (toDownload != null && ! toDownload.isEmpty()) {
    233233            task = new PluginDownloadTask(this, toDownload, tr("Download plugins"));
    234234        } else {
     
    247247                }
    248248
    249                 for (PreferenceSetting setting : settings) {
     249                for (PreferenceSetting setting : settingsInitialized) {
    250250                    if (setting.ok()) {
    251251                        requiresRestart = true;
     
    463463            PreferenceTab tab = (PreferenceTab) sel;
    464464            TabPreferenceSetting preferenceSettings = tab.getTabPreferenceSetting();
    465             //System.out.println(preferenceSettings);
    466465            if (!settingsInitialized.contains(preferenceSettings)) {
    467466                try {
    468                     //System.out.println("adding GUI for "+preferenceSettings);
    469467                    getModel().removeChangeListener(this);
    470468                    preferenceSettings.addGui(this);
     
    474472                            SubPreferenceSetting sps = (SubPreferenceSetting) setting;
    475473                            if (sps.getTabPreferenceSetting(this) == preferenceSettings) {
    476                                 //System.out.println("adding GUI for "+sps);
    477                                 sps.addGui(this);
     474                                try {
     475                                    sps.addGui(this);
     476                                } catch (SecurityException ex) {
     477                                    ex.printStackTrace();
     478                                } catch (Throwable ex) {
     479                                    BugReportExceptionHandler.handleException(ex);
     480                                } finally {
     481                                    settingsInitialized.add(sps);
     482                                }
    478483                            }
    479484                        }
Note: See TracChangeset for help on using the changeset viewer.