Ticket #19648: josm_19648.patch

File josm_19648.patch, 2.3 KB (added by gaben, 4 years ago)
  • src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj

     
    77PARSER_BEGIN(MapCSSParser)
    88package org.openstreetmap.josm.gui.mappaint.mapcss.parsergen;
    99
     10import static org.openstreetmap.josm.tools.I18n.tr;
     11
    1012import java.io.InputStream;
    1113import java.io.Reader;
    1214import java.util.ArrayList;
     
    1416import java.util.Collections;
    1517import java.util.List;
    1618
     19import javax.swing.JOptionPane;
     20
    1721import org.openstreetmap.josm.data.preferences.NamedColorProperty;
     22import org.openstreetmap.josm.gui.MainApplication;
    1823import org.openstreetmap.josm.gui.mappaint.Keyword;
    1924import org.openstreetmap.josm.gui.mappaint.Range;
    2025import org.openstreetmap.josm.gui.mappaint.mapcss.Condition;
     
    3641import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.GeneralSelector;
    3742import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.LinkSelector;
    3843import org.openstreetmap.josm.gui.mappaint.mapcss.Subpart;
     44import org.openstreetmap.josm.gui.util.GuiHelper;
    3945import org.openstreetmap.josm.tools.ColorHelper;
    4046import org.openstreetmap.josm.tools.JosmRuntimeException;
    4147import org.openstreetmap.josm.tools.Logging;
     
    7884            this.idx = idx;
    7985        }
    8086    }
    81    
     87
    8288    /**
    8389     * Constructor which initializes the parser with a certain lexical state.
    8490     * @param in input
     
    11501156    if (token.kind == EOF)
    11511157        throw new ParseException("Reached end of file while parsing");
    11521158       
    1153     Exception e = null;       
     1159    Exception e;
    11541160    ParseException pe = generateParseException();
    11551161
    11561162    if (me != null) {
     
    11641170   
    11651171    Logging.error("Skipping to the next rule, because of an error:");
    11661172    Logging.error(e);
     1173
     1174    GuiHelper.runInEDT(new Runnable() {
     1175        @Override
     1176        public void run() {
     1177            JOptionPane.showMessageDialog(
     1178                    MainApplication.getMainFrame(),
     1179                    e.getMessage(),
     1180                    tr("MapCSS rule parsing error"),
     1181                    JOptionPane.ERROR_MESSAGE);
     1182        }
     1183    });
     1184
    11671185    if (sheet != null) {
    11681186        sheet.logError(e);
    11691187    }