diff --git a/src/plugins/cppeditor/cppquickfix.cpp b/src/plugins/cppeditor/cppquickfix.cpp index 8190b4dc8aa..097ed29e124 100644 --- a/src/plugins/cppeditor/cppquickfix.cpp +++ b/src/plugins/cppeditor/cppquickfix.cpp @@ -691,30 +691,20 @@ int CPPQuickFixCollector::startCompletion(TextEditor::ITextEditable *editable) candidates.append(takeDeclarationOp); candidates.append(splitSimpleDeclarationOp); - QMultiMap matchedOps; + QMap > matchedOps; foreach (QuickFixOperationPtr op, candidates) { int priority = op->match(path, _editor->textCursor()); if (priority != -1) - matchedOps.insert(priority, op); + matchedOps[priority].append(op); } - QMapIterator it(matchedOps); + QMapIterator > it(matchedOps); it.toBack(); if (it.hasPrevious()) { it.previous(); - int priority = it.key(); - _quickFixes.append(it.value()); - - while (it.hasPrevious()) { - it.previous(); - - if (it.key() != priority) - break; - - _quickFixes.append(it.value()); - } + _quickFixes = it.value(); } if (! _quickFixes.isEmpty())