JSON API debug lambda returned a dangling reference on Android, fix by
moving the scope of the returned object
What made this a bit tricky to understand was the fact that it happened
only on Android, while the code was formally incorrect for all
platforms, and strangely caused a stack overflow due to two std lib
functions (sentry and flush) calling each other ad infinitum
+#23379 0x603cb2a8 in std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >::flush (this=0x618e92bc) at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:949
+#23380 0x603cad08 in std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >::sentry::sentry (this=0x618e9284, __os=...) at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:270
+#23381 0x603cb2a8 in std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >::flush (this=0x618e92bc) at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:949
+#23382 0x603cad08 in std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >::sentry::sentry (this=0x618e9304, __os=...) at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:270
+#23383 0x603caa6c in std::__ndk1::__put_character_sequence<char, std::__ndk1::char_traits<char> > (__os=..., __str=0x61379a60 " user: ", __len=7) at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:726
+#23384 0x603caa30 in std::__ndk1::operator<< <std::__ndk1::char_traits<char> > (__os=..., __str=0x61379a60 " user: ") at /opt/android-ndk/sources/cxx-stl/llvm-libc++/include/ostream:869
+#23385 0x60522184 in t_RsLogger<(RsLoggerCategories)5>::operator<< <char [8]> (this=0x618e92bc, val=...) at ../../../../Development/rs-develop/libretroshare/src/util/rsdebug.h:53
+#23386 0x60bbe5ec in JsonApiServer::registerHandler(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::function<void (std::__ndk1::shared_ptr<restbed::Session>)> const&, bool)::$_259::operator()(std::__ndk1::shared_ptr<restbed::Session>, std::__ndk1::function<void (std::__ndk1::shared_ptr<restbed::Session>)> const&) const (this=0x617d8364, session=..., callback=...) at ../../../../Development/rs-develop/libretroshare/src/jsonapi/jsonapi.cpp:517
Update PhotoItem members
- remove excessive fields in Photo
- add RsGxsFile to Photo
- update ShareMode for Album
- renamed photo.mThumbnail to mLowResImage
Update Photo GUI
- enable setting of AlbumExtra parameters.
- added data for Ordering of photos
- stop showing duplicates in PhotoSlideShow
Added REF fields to Wire Msgs to allow replys to work well.
Added description of how the Message fields should be used.
Added WireGroupDialog for creation of WireGroups.
Updated PulseAddDialog to support publishing Pulses and Replies.
Added classes to display Pulses / Groups.
Added single selection point of WireGroup for publishing.
Added basic "refresh" to reload new GXS data.
Significant improvements to AlbumDialog
- load Existing Photos to the Album
- drag and drop add new Photos
- mark photos for deletion
- publish these changes
- color photoitems depending on state
Fixed up Top-Level Photo display.
- only show latest version of photo (hide deleted)
- fixup grouping by "Own / Subscribed / Other" Albums
- added Album detail editing using GxsGroupDialog
WIP improvements to PhotoService:
- switch p3photoservice to use gxcommentservice
- clean out old RsPhotoComment classes
- redesign PhotoDialog to use standard GxsCommentService classes
- remove unneeded old Comment classes from GUI
- fix indenting for PhotoDialog and p3photoservice.h
- fix layout issue in Extra Widgets for GxsGroupDialog
WIP improvements to PhotoService:
- Switch from custom image to use RsGxsImage
- Update classes for new Image class
- fix serialiser for photos
- switch group creation to use GxGroupDialog
- tweak GxsGroupDialog to display extra Widgets
- add AlbumExtra widget