From dfd7b01fb2e06f44d082ac54b1dbd9a3aea3c0a2 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>
Date: Thu, 19 Feb 2015 16:53:31 +0000
Subject: [PATCH] Fix an auto-completion crash when the PhoneDirectory have
 exactly 2 items

Refs #38116
---
 src/numbercompletionmodel.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/numbercompletionmodel.cpp b/src/numbercompletionmodel.cpp
index 37f348b6..826d3acf 100644
--- a/src/numbercompletionmodel.cpp
+++ b/src/numbercompletionmodel.cpp
@@ -256,7 +256,7 @@ void NumberCompletionModelPrivate::updateModel()
 
 void NumberCompletionModelPrivate::getRange(QMap<QString,NumberWrapper*> map, const QString& prefix, QSet<ContactMethod*>& set) const
 {
-   if (prefix.isEmpty())
+   if (prefix.isEmpty() || map.isEmpty())
       return;
    QMap<QString,NumberWrapper*>::iterator iBeg = map.begin();
    QMap<QString,NumberWrapper*>::iterator iEnd = map.end  ()-1;
@@ -302,7 +302,7 @@ void NumberCompletionModelPrivate::getRange(QMap<QString,NumberWrapper*> map, co
       size = ::ceil(size/2.0f);
    }
 
-   while (iBeg.key().left(prefixLen) != pref && iBeg != iEnd)
+   while (iBeg.key().left(prefixLen) != pref && iBeg != map.end() && iBeg != iEnd)
       ++iBeg;
 
    if (iEnd == iBeg && iBeg.key().left(prefixLen) != pref) {
-- 
GitLab