View | Details | Raw Unified | Return to issue 12713
Collapse All | Expand All

(-)source/svrtf/rtfitem.cxx (-17 / +20 lines)
Lines 1131-1141 Link Here
1131
			case BRACELEFT:
1131
			case BRACELEFT:
1132
				{
1132
				{
1133
					// teste auf Swg-Interne Tokens
1133
					// teste auf Swg-Interne Tokens
1134
                    bool bHandled = false;
1134
					short nSkip = 0;
1135
					short nSkip = 0;
1135
					if( RTF_IGNOREFLAG != GetNextToken() )
1136
					if( RTF_IGNOREFLAG != GetNextToken())
1136
						nSkip = -1;
1137
						nSkip = -1;
1137
					else if( (nToken = GetNextToken() ) & RTF_SWGDEFS )
1138
					else if( (nToken = GetNextToken() ) & RTF_SWGDEFS )
1138
					{
1139
					{
1140
                        bHandled = true;
1139
						switch( nToken )
1141
						switch( nToken )
1140
						{
1142
						{
1141
						case RTF_PGDSCNO:
1143
						case RTF_PGDSCNO:
Lines 1143-1149 Link Here
1143
						case RTF_SOUTLVL:
1145
						case RTF_SOUTLVL:
1144
							UnknownAttrToken( nToken, pSet );
1146
							UnknownAttrToken( nToken, pSet );
1145
							// ueberlese die schliessende Klammer
1147
							// ueberlese die schliessende Klammer
1146
							GetNextToken();
1147
							break;
1148
							break;
1148
1149
1149
						case RTF_SWG_ESCPROP:
1150
						case RTF_SWG_ESCPROP:
Lines 1158-1175 Link Here
1158
								if( PLAINID->nEscapement )
1159
								if( PLAINID->nEscapement )
1159
									pSet->Put( SvxEscapementItem( nEsc, nProp,
1160
									pSet->Put( SvxEscapementItem( nEsc, nProp,
1160
											   		PLAINID->nEscapement ));
1161
											   		PLAINID->nEscapement ));
1161
#if 0   
1162
        /*
1163
        cmc: #i4727# I believe this is incorrect, other code that is counting
1164
        brackets so as to push/pop off the correct environment will have
1165
        pushed a new environment for the start { of this, but will not see the
1166
        } and so is out of sync for the rest of the document. If we actually
1167
        do want make this environment bleed into the surrounding environment
1168
        then we need to do it differently.
1169
        */
1170
								// ueberlese die schliessende Klammer
1171
								GetNextToken();
1172
#endif
1173
							}
1162
							}
1174
							break;
1163
							break;
1175
1164
Lines 1197-1203 Link Here
1197
								}
1186
								}
1198
								else
1187
								else
1199
									SkipGroup();		// ans Ende der Gruppe
1188
									SkipGroup();		// ans Ende der Gruppe
1200
								GetNextToken();			// Klammer ueberlesen
1201
							}
1189
							}
1202
							break;
1190
							break;
1203
1191
Lines 1234-1244 Link Here
1234
1222
1235
								if( bSkip )
1223
								if( bSkip )
1236
									SkipGroup();		// ans Ende der Gruppe
1224
									SkipGroup();		// ans Ende der Gruppe
1237
								GetNextToken();			// Klammer ueberlesen
1238
							}
1225
							}
1239
							break;
1226
							break;
1240
1227
1241
						default:
1228
						default:
1229
                            bHandled = false;
1242
							if( (nToken & ~(0xff | RTF_SWGDEFS)) == RTF_TABSTOPDEF )
1230
							if( (nToken & ~(0xff | RTF_SWGDEFS)) == RTF_TABSTOPDEF )
1243
							{
1231
							{
1244
								nToken = SkipToken( -2 );
1232
								nToken = SkipToken( -2 );
Lines 1253-1265 Link Here
1253
								nSkip = -2;
1241
								nSkip = -2;
1254
							break;
1242
							break;
1255
						}
1243
						}
1244
1245
#if 1   
1246
                        /*
1247
                        cmc: #i4727# / #i12713# Who owns this closing bracket?
1248
                        If we read the opening one, we must read this one, if
1249
                        other is counting the brackets so as to push/pop off
1250
                        the correct environment then we will have pushed a new
1251
                        environment for the start { of this, but will not see
1252
                        the } and so is out of sync for the rest of the
1253
                        document.
1254
                        */
1255
                        if (bHandled && !bFirstToken) 
1256
                            GetNextToken();
1257
#endif
1256
					}
1258
					}
1257
					else
1259
					else
1258
						nSkip = -2;
1260
						nSkip = -2;
1259
1261
1260
					if( nSkip )				// alles voellig unbekannt
1262
					if( nSkip )				// alles voellig unbekannt
1261
					{
1263
					{
1262
						--nSkip;			// BRACELEFT: ist das naechste Token
1264
                        if (!bFirstToken)
1265
						    --nSkip;	// BRACELEFT: ist das naechste Token
1263
						SkipToken( nSkip );
1266
						SkipToken( nSkip );
1264
						bWeiter = FALSE;
1267
						bWeiter = FALSE;
1265
					}
1268
					}

Return to issue 12713