Commit Graph

71 Commits (d392b97aa71ca06589bb1bc850c19c6855f3fa79)

Author SHA1 Message Date
andreykproductengine 341ecb2324 MAINT-7483 Fixed inability to drag a folder into object contents 2017-06-15 16:45:57 +03:00
Mnikolenko Productengine a210ae50b0 MAINT-6884 Issues with the Outfit Gallery and viewer crashes - out of memory crashes since VOB 2016-11-02 17:19:40 +02:00
AndreyL ProductEngine 445cd96293 Merged in lindenlab/viewer-release 2016-05-20 00:03:30 +03:00
AndreyL ProductEngine b32d00308e Merged in lindenlab/viewer-release 2016-05-06 17:31:36 +03:00
Oz Linden 950c41d184 merge 4.0.4-release and MAINT-5974 2016-05-06 10:28:42 -04:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
AndreyL ProductEngine eb413ec41e Merged in lindenlab/viewer-release 2016-04-01 03:56:20 +03:00
Aura Linden 104b117154 Faster to copy changes than merge branches. 2016-03-31 15:26:53 -07:00
Mnikolenko ProductEngine 145aa1d074 MAINT-6119 Viewer needs a few NULL uuid checks 2016-02-18 11:36:05 +02:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Rider Linden bbb9d4f21b MAINT-5732: Change to the way event polling handles error conditions and cancel calls.
Refactor any remaining LLCore::HTTPHandlers to use boost::shared_ptr
Started minor refactor in the materials manager into coroutines (unfinished)
2015-10-14 17:46:24 -07:00
Monty Brandenberg 85cba58ad4 Add an HTTP policy class for inventory operations using four (4)
connections.  Convert background and foreground fetches, both
items and folders/inventory and library, to use new HTTP.
Non-fetch inventory operations continue to use LLHTTPClient
(at least for now).  Error handling and retry on fetches wasn't
100% previously and that's still the case.  I'll rip through
this again to clean that up.  Cleaned up logging in much of
the inventory code with consistent labels on logging events
and correct macros (removed deprecation warnings).

This started as an attempt to get libcurl to do pipelining
on POSTs and PUTs.  Discovered that this is going to be
very difficult to support in general in libcurl.  May
look at that again in the future.
2014-08-22 18:04:27 -04:00
Brad Payne (Vir Linden) 487ca1bad3 v-r -> s-e merge WIP 2014-05-14 17:50:59 -04:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Xiaohong Bao ae564140c0 Merge 2014-04-22 12:19:28 -06:00
Brad Payne (Vir Linden) d0eb9658f2 merge 2014-04-22 11:19:58 -04:00
Brad Payne (Vir Linden) f6947e9ce5 SH-4664 WIP - updated from from UpdateCreateInventoryItem to inventory observers. 2013-12-19 15:39:21 -05:00
Merov Linden f0cbf849ac ACME-3320 : Clearing deleted categories so not to pool on them forever 2013-11-26 12:04:01 -08:00
Brad Payne (Vir Linden) fd2d812236 SH-4549 FIX - code cleanup 2013-11-25 16:03:52 -05:00
Brad Payne (Vir Linden) 8f4c4db90f SH-4611 FIX - use an observer to scroll after category rename completes 2013-11-23 09:37:09 -05:00
Merov Linden 6ec99570cd MAINT-3320 : Fixed! Inventory panels are not resistant to folder root deletion, using handle instead of pointer and cleaning things consistently 2013-11-15 15:12:11 -08:00
Merov Linden e6b4b89bf1 MAINT-3320 : WIP : Use handle for elements that'll get deleted under us, quite a bit of debug spam to clean later 2013-11-11 18:39:02 -08:00
Brad Payne (Vir Linden) 6ea320198a SH-4595 WIP - use new LLInventoryObserver::CREATE flag to distinguish newly created items from existing ones being added to inventory. 2013-11-04 15:55:04 -05:00
Brad Payne (Vir Linden) 49956093db SH-4595 WIP - removed UDP hooks from LLInventoryAddItemByAssetObserver 2013-11-01 14:37:38 -04:00
Brad Payne (Vir Linden) e26268add0 SH-4595 WIP - reworked descendents of LLInventoryAddedObserver to use gInventory.getAddedIDs(). LLInventoryAddedObserver isn't really needed anymore, but leaving it in as a debugging point at least for now. 2013-11-01 11:02:51 -04:00
Brad Payne (Vir Linden) dba221e0ac SH-4160 WIP, build fix 2013-10-17 16:12:37 -04:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
2013-07-30 19:13:45 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Aaron Stone 0d66c68704 EXP-625 No longer stuck as a cloud on initial login by fixing logic around fetching library items from the Inventory capabilities. 2011-10-11 15:46:40 -07:00
Leslie Linden 6c12a5ca55 EXP-919 FIX -- Items not shown in Received Items panel
EXP-929 FIX -- First Direct Delivery item purchased while logged in: Received Items folder visible in inventory and item not visible in Received items panel - no badge count update

* Inbox and Outbox inventory panels now live in their own XML files and are hot loaded into place when appropriate, like when the "Received Items" folder is first created, for example.
* The Inbox and Outbox panels now show relevant default messages when the folders are empty or do not exist
* Added LLInventoryCategoryAddedObserver, a new inventory observer type to observe added folders
* Hacked LLInventoryPanel to properly set up inbox and outbox inventory views for the "Received Items" folder and the "Merchant Outbox" folder that aren't created with the proper system folder type
* Changed inventory badge count computation to use LLFolderView rather than the inventory directly
* Applied various focus, selection and other inbox fixes to the outbox

Reviewed by Richard.
2011-06-30 16:25:19 -07:00
Seth ProductEngine 67f33bff1b STORM-1042 FIXED Fixed the inventory observers of newly added items.
The problem was caused by an outdated message name stored in LLInventoryObserver::mMessageName and not updated properly in LLInventoryModel::notifyObservers().
The message name used in LLInventoryAddedObserver::changed() was the name of the message most recently passed by LLInventoryModel::notifyObservers(), instead of the name of the latest actually received message. Using the most recent message name in this case fixed the problem.
2011-04-12 03:00:05 +03:00
Aaron Stone 40cd537054 Switch inventory capabilities to FetchInventory2 and family. 2011-01-07 18:30:03 +00:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Brad Payne (Vir Linden) e6d5cc3bd1 EXT-8283 FIX, EXT-8360 FIX - original fixes got broken, presumably during some merge 2010-08-04 17:21:33 -04:00
Brad Payne (Vir Linden) ca1224fd79 EXT-8360 FIX - item name changes get propagated to the various appearance panel widgets 2010-07-20 10:44:27 -04:00
Brad Payne (Vir Linden) 4eab82d5e2 merge 2010-06-21 15:54:02 -04:00
Brad Payne (Vir Linden) c838c6b645 EXT-4919 WIP - log file spam reduction 2010-06-21 15:27:11 -04:00
Brad Payne (Vir Linden) 8aef04f33c EXT-4919 WIP - fixed problems with inventory fetch failing to time out, added copying/activation of more gesture folders 2010-06-21 11:56:59 -04:00
Mike Antipov ca81608899 EXT-7921 FIXED Added a check whether message is what we expecting in LLInventoryAddItemByAssetObserver::changed.
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/618/

--HG--
branch : product-engine
2010-06-21 11:08:31 +03:00
Loren Shih 823ae2ea98 EXT-7735 FIXED When receiving a folder, "Show" (or hotlink) doesn't do anything
Fixed highlight and open item code to work for both categories and items (was previously only working for items).
2010-06-16 13:35:57 -04:00
Mike Antipov 356e1d55cc EXT-7441 FIXED Improved condition to give up fetched inventory items in LLInventoryFetchItemsObserver
Reason: LLInventoryFetchItemsObserver is used to fetch necessary gesture items. Its logic was based on count of "inventory changed" events. In case of there was too many requests stored item UUIDSs are be removed from queue by mistake - notification can be triggered because some other item is renamed.

This issue can appear wherever LLInventoryFetchItemsObserver is used.

Fix: improved logic to make decision to give up fetching items.
 For now it bases on period while waiting items to arrive from server and a number of attempts to repeate waiting.
 This is a constants of the LLInventoryFetchItemsObserver (10 times by 10 seconds)

Tested with test case in JIRA (total count of inventory items - 13,888).

Most likely that was a reason of inventory loss (EXT-7503).

Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/507/

--HG--
branch : product-engine
2010-06-07 12:15:23 +03:00
Mike Antipov 5459e26392 EXT-7503 WIP Made first inventory fetch for Add to Outfit panel on the first openning, updated reliability of LLInventoryFetchItemsObserver
* Moved initialization (with start fetch) of the LLFilteredWearableListManager into LLPanelOutfitEdit::onOpen
* LLFilteredWearableListManager::changed now ignores non-related inventory changes (CALLING_CARD, GESTURE, SORT)

Tried to fix an issue with empty Gesture list on startup with clean inventory cache.
Reason: logic is based on count of "inventory changed" events. In case of there was too many requests requested items can be removed from queue by mistake.
* Increased a number of the "change()" method calls to wait fetched items.
  Unfortunately this only works if My Inventory category does not have too many children. An does not work if it has 2000+ items
  Logic to remove item from the incompleted list should be based on timer and number of attempts.

Also add some debug information about fetching inventory category and its content to log.

Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/456/

--HG--
branch : product-engine
2010-06-03 12:47:18 +03:00
Andrew Polunin bf197d4f41 EXT-7199 FIXED (Enable dragging items from inventory view to current outfit in Outfit Editor)
- HandleDragAndDrop() method was overridden in the LLPanelOutfitEdit class to handle drag and drop operations of the Clothing, Body Parts and Attachments.
- In panel_outfit_edit.xml parameter allow_multi_select was set to true to allow multiple selections.
- Added class LLCOFDragAndDropObserver to implement the drag and drop.
- Class LLInventoryMoveFromWorldObserver renamed to LLInventoryAddItemByAssetObserver.

Drag and drop reimplemented using functionality of the LLInventoryAddItemByAssetObserver.

Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/373/

--HG--
branch : product-engine
2010-05-17 16:52:44 +03:00
Sergei Litovchuk f247dc68df Task (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar
- Fixed adding category check in LLInventoryCategoriesObserver.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/332/

--HG--
branch : product-engine
2010-04-30 19:48:15 +03:00
Sergei Litovchuk 20d95dd523 (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 2)
llui:
- Added accordion tab title setter.
- Added setters for accordion tab focus changes callbacks.

newview:
- Fixed observer used for outfit items collecting. Added checking number of fetched items.
- Added outfit selection and enabled "replace outfit" and "add to outfit" commands for selected outfit.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/332/

--HG--
branch : product-engine
2010-04-29 20:11:58 +03:00
Paul Guslisty 6838fd3698 Fixed normal bug EXT-5377 (Viewer crashes if \"My Appearance\" tab has been pressed in offline mode)
- Added checking for a null pointer

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/329/

--HG--
branch : product-engine
2010-04-29 15:02:05 +03:00
Sergei Litovchuk fbfc851766 (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 1)
llui:
- Setting container panel for accordion tab control to dynamically add tabs to accordions.
- Added method to dynamically remove accordion tabs.
- Added LLIconCtrl image setter.

newview:
- Class LLOutfitsList - a list of agents's outfits from "My Outfits" inventory category which represents each outfit by an accordion tab with a list of items inside it.
- Class LLWearableItemsList - a list of wearable items used in each accordion tab of "My Outfits" tab.
- Class LLInventoryItemsList - a base class for LLWearableItemsList that represents inventory items by panels in LLFlatListView.
- Class LLPanelInventoryItem - inventory item representation for a flat list. Item icon is set according to item type.
- Class LLInventoryCategoriesObserver - an observer used in LLOutfitsList for monitoring changes to "My Outfits" inventory category and updating outfits accordion tabs and list of items for each outfit.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/285/

--HG--
branch : product-engine
2010-04-26 18:56:28 +03:00
Vadim Savchuk 85e47b0cf0 merge
--HG--
branch : product-engine
2010-04-21 16:58:28 +03:00
Dmitry Zaporozhan 2ce7556e53 Implemented by SL EXT-6722(normal task) - Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 1)
llui:
- Setting container panel for accordion tab control to dynamically add tabs to accordions.
- Added method to dynamically remove accordion tabs.
- Added LLIconCtrl image setter.

newview:
- Class LLOutfitsList - a list of agents's outfits from "My Outfits" inventory category which represents each outfit by an accordion tab with a list of items inside it.
- Class LLWearableItemsList - a list of wearable items used in each accordion tab of "My Outfits" tab.
- Class LLInventoryItemsList - a base class for LLWearableItemsList that represents inventory items by panels in LLFlatListView.
- Class LLPanelInventoryItem - inventory item representation for a flat list. Item icon is set according to item type.
- Class LLInventoryCategoriesObserver - an observer used in LLOutfitsList for monitoring changes to "My Outfits" inventory category and updating outfits accordion tabs and list of items for each outfit.

Known issues:
- Only first outfit tab is displayed in "My Outfits" until this tab is expanded.
- Bottom bar buttons and filter field not functioning for "My Outfits" tab since LLOutfitsList still doesn't support selection, filtering and sorting.
- "My Outfits" and "Wearing" tabs of "Appearance" side panel might need a common interface to use LLOutfitsList and LLinventoryPanel as tabs in LLPanelOutfitsInventory or "Wearing" tab should be replaces with LLOutfitsList class object i.e. a flat list.

On review - https://codereview.productengine.com/secondlife/r/285/

--HG--
branch : product-engine
2010-04-21 15:44:24 +03:00