<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Which platform? IOS or Android?<div class=""><br class=""></div><div class="">/D</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 22, 2016, at 6:25 AM, Martin Long <<a href="mailto:martin@longhome.co.uk" class="">martin@longhome.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi, <div class=""><br class=""></div><div class="">Is there any changes of a new daily build with this patch? I've noticed that this has been trashing the data for a load of my dives. </div><div class=""><br class=""></div><div class="">Thanks</div><div class=""><br class=""></div><div class="">Martin</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Mon, 12 Sep 2016 at 19:30 Joakim Bygdell <<a href="mailto:j.bygdell@gmail.com" class="">j.bygdell@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">When editing adive in Subsurface-mobile we can only handle one buddy<br class="gmail_msg">
due to the limitations of the combobox. To prevent loss of data when editing<br class="gmail_msg">
a dive with more than one buddy we display "Multiple Buddies" in the buddy<br class="gmail_msg">
field. This creates a special case where no changes are written to the buddy field<br class="gmail_msg">
unless the user changes buddy for that dive.<br class="gmail_msg">
---<br class="gmail_msg">
 core/subsurface-qt/DiveObjectHelper.cpp |  1 +<br class="gmail_msg">
 mobile-widgets/qml/DiveDetails.qml      |  6 +++++-<br class="gmail_msg">
 mobile-widgets/qmlmanager.cpp           | 14 +++++++++++---<br class="gmail_msg">
 3 files changed, 17 insertions(+), 4 deletions(-)<br class="gmail_msg">
<br class="gmail_msg">
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp<br class="gmail_msg">
index 37f954c..246e451 100644<br class="gmail_msg">
--- a/core/subsurface-qt/DiveObjectHelper.cpp<br class="gmail_msg">
+++ b/core/subsurface-qt/DiveObjectHelper.cpp<br class="gmail_msg">
@@ -425,6 +425,7 @@ QStringList DiveObjectHelper::buddyList() const<br class="gmail_msg">
                        QRegExp sep("(,<a href="smb://s" class="">\\s</a>)");<br class="gmail_msg">
                        QStringList tempList = temp.split(sep);<br class="gmail_msg">
                        buddies << tempList;<br class="gmail_msg">
+                       buddies << "Multiple Buddies";<br class="gmail_msg">
                }<br class="gmail_msg">
        }<br class="gmail_msg">
        buddies.removeDuplicates();<br class="gmail_msg">
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml<br class="gmail_msg">
index 7f6ca81..be34288 100644<br class="gmail_msg">
--- a/mobile-widgets/qml/DiveDetails.qml<br class="gmail_msg">
+++ b/mobile-widgets/qml/DiveDetails.qml<br class="gmail_msg">
@@ -156,7 +156,11 @@ Kirigami.Page {<br class="gmail_msg">
                airtemp = diveDetailsListView.currentItem.modelData.dive.airTemp<br class="gmail_msg">
                watertemp = diveDetailsListView.currentItem.modelData.dive.waterTemp<br class="gmail_msg">
                suitIndex = diveDetailsListView.currentItem.modelData.dive.suitList.indexOf(diveDetailsListView.currentItem.modelData.dive.suit)<br class="gmail_msg">
-               buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf(diveDetailsListView.currentItem.modelData.dive.buddy)<br class="gmail_msg">
+               if (diveDetailsListView.currentItem.modelData.dive.buddy.search(",")) {<br class="gmail_msg">
+                       buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf("Multiple Buddies");<br class="gmail_msg">
+               } else {<br class="gmail_msg">
+                       buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf(diveDetailsListView.currentItem.modelData.dive.buddy)<br class="gmail_msg">
+               }<br class="gmail_msg">
                divemasterIndex = diveDetailsListView.currentItem.modelData.dive.divemasterList.indexOf(diveDetailsListView.currentItem.modelData.dive.divemaster)<br class="gmail_msg">
                notes = diveDetailsListView.currentItem.modelData.dive.notes<br class="gmail_msg">
                if (diveDetailsListView.currentItem.modelData.dive.singleWeight) {<br class="gmail_msg">
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp<br class="gmail_msg">
index 9de5ac1..1b9aebe 100644<br class="gmail_msg">
--- a/mobile-widgets/qmlmanager.cpp<br class="gmail_msg">
+++ b/mobile-widgets/qmlmanager.cpp<br class="gmail_msg">
@@ -869,9 +869,17 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q<br class="gmail_msg">
                d->suit = strdup(qPrintable(suit));<br class="gmail_msg">
        }<br class="gmail_msg">
        if (myDive->buddy() != buddy) {<br class="gmail_msg">
-               diveChanged = true;<br class="gmail_msg">
-               free(d->buddy);<br class="gmail_msg">
-               d->buddy = strdup(qPrintable(buddy));<br class="gmail_msg">
+               if (myDive->buddy().contains(",")) {<br class="gmail_msg">
+                       if (!buddy.contains("Multiple Buddies")) {<br class="gmail_msg">
+                               diveChanged = true;<br class="gmail_msg">
+                               free(d->buddy);<br class="gmail_msg">
+                               d->buddy = strdup(qPrintable(buddy));<br class="gmail_msg">
+                       }<br class="gmail_msg">
+               } else {<br class="gmail_msg">
+                       diveChanged = true;<br class="gmail_msg">
+                       free(d->buddy);<br class="gmail_msg">
+                       d->buddy = strdup(qPrintable(buddy));<br class="gmail_msg">
+               }<br class="gmail_msg">
        }<br class="gmail_msg">
        if (myDive->divemaster() != diveMaster) {<br class="gmail_msg">
                diveChanged = true;<br class="gmail_msg">
--<br class="gmail_msg">
2.7.4<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
subsurface mailing list<br class="gmail_msg">
<a href="mailto:subsurface@subsurface-divelog.org" class="gmail_msg" target="_blank">subsurface@subsurface-divelog.org</a><br class="gmail_msg">
<a href="http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</a><br class="gmail_msg">
</blockquote></div>
_______________________________________________<br class="">subsurface mailing list<br class=""><a href="mailto:subsurface@subsurface-divelog.org" class="">subsurface@subsurface-divelog.org</a><br class="">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface<br class=""></div></blockquote></div><br class=""></div></body></html>