Commit Graph

3836 Commits

Author SHA1 Message Date
Lirusaito
1d4858ae85 Add support for two non-SL grid features/flags.
Adds support for GamingData cap, and flags: PF_GAMING, DFQ_FILTER_GAMING, REGION_FLAGS_GAMING, and REGION_FLAGS_HIDE_FROM_SEARCH
Adds GamingCheck to floater_about_land.xml
Adds filter_gaming checkboxes to floater_directory* xmls
Adds "is gaming" and "hide from search" checkboxes to floater_god_tools.xml
2013-02-11 01:14:09 -05:00
Lirusaito
cff7a2a464 Brought in Script Limits from v-d! (Accessible from About Land) 2013-02-11 01:12:21 -05:00
Aleric Inglewood
c18b156d8b Bug fix for scrolling folder views.
An LLFolderView is added as child to LLScrollableContainerView,
but also adds the LLScrollableContainerView to it's mScrollContainer.
As a result, when scrolling inside a LLFolderView the event is passed to
the mScrollContainer, which then passes it first on to it's children
(see the "Bad UI design" remark in the code), causing an infinite loop.
This patch breaks that loop for those objects that have a
mScrollContainer: LLFolderView and LLContainerView.
2013-02-11 03:36:46 +01:00
Aleric Inglewood
2a177c6614 Fix for libcwd configured with --disable-location 2013-02-10 18:18:50 +01:00
Lirusaito
085d6cc806 Derive LLPanelPlace from LLRemoteParcelInfoObserver, and update affected sections to v-d. 2013-02-09 17:06:38 -05:00
Lirusaito
818734878d Update LLFloaterLand to v-d 2013-02-09 16:17:29 -05:00
Aleric Inglewood
2d7ab61c6e Make keyboard focus more robust under closed floaters. 2013-02-08 18:40:14 +01:00
Aleric Inglewood
dd6f95cd33 Make AIList resilient against invalidating iterators.
This adds a counter and a 'dead' flag to the data stored in the linked
list. The counter counts the number of iterators (still) pointing to an
element and the dead flag is set to indicate the element was erased when
iterators are still pointing to it. As a result, iterators are NEVER
invalidated. Of course, such elements are subsequentially skipped when
iterating over the list. Assertions protect against dereferencing an
erased iterator, but incrementing or decremention still works: it is
still well-defined what the next (non erased) element is, assuming the
element wasn't erased (yet), but would be erased delayed - or assuming
the iterator would have been incremented (decremented) in advance to
erasing the element.
2013-02-08 17:28:22 +01:00
Aleric Inglewood
d5482e6c74 Do not pre- increment the loop iterator in LLView::drawChildren
This is in fact much safer, because the only way to invalidate an
interator in the first place (in this code) is by calling removeChild,
which *already* has an assert never to remove a child that is being
iterated over (by means of the mInDraw flag).
2013-02-08 17:28:21 +01:00
Aleric Inglewood
baab1d81a7 Wrap LLView::child_list_t in a class AIList.
So far not doing anything. Iterators already keep a pointer to the
container they belong to.
2013-02-08 17:28:21 +01:00
Aleric Inglewood
ea114986be Use viewList_t and child_list_t in appropriate places.
Both types are currently the same, but soon they will be made different.
Currently they are used a bit mixed up. This patch fixes that.
2013-02-08 17:28:21 +01:00
Aleric Inglewood
c1e6812f41 Remove unused variable. 2013-02-08 17:28:21 +01:00
Aleric Inglewood
e7aeb3feaf Add AINRLock for debugging purposes.
This class can be used as RWLOCK parameter to AIThreadSafe to check that
data is only accessed by a single thread (like
AIThreadSafeSingleThreaded) AND is never write locked when a read or
write lock was already obtained (by the same thread). It doesn't
actually lock anything, it just keeps track if the "lock" was obtained
before. The use case is to check if STL containers aren't being used
(read or write locked) by a calling function when additional write
access is necessary, as write access might invalidate iterator that
point to the container (where the previous lock was taken).
2013-02-08 17:28:21 +01:00
Aleric Inglewood
adf4c9a0ce Make the type of the read/write lock of AIThreadSafe a template parameter.
This allows passing a different type than the default AIRWLock for
debugging purposes.

The signature of the class used for RWLOCK should be:

struct RWLock {
  // Default constructor.
  RWLock(void);

  // Block until it's safe to read the data.
  // high_priority is a hint that granting this thread the read lock is more important than granting another thread a write lock.
  void rdlock(bool high_priority = false);
  // Release the obtained read lock.
  void rdunlock();
  // Block until it's safe to write to the data.
  void wrlock();
  // Release the obtained write lock.
  void wrunlock();
  // Convert the obtained write lock into a read lock.
  void wr2rdlock();
  // Block until it is possible to convert the obtained read lock into a write lock.
  void rd2wrlock();

  // Return true when a read or write is obtained and subsequent calls to release the lock are expected.
  bool isLocked() const;
};
2013-02-08 17:28:21 +01:00
Aleric Inglewood
38d1525092 Merge remote-tracking branch 'singu/master' 2013-02-08 17:26:14 +01:00
Latif Khalifa
56b2c10312 Renamed deferred rendering switch from 'Lightning and Shadows' to 'Advanced Lighting Model' as per upstream 2013-02-07 18:17:15 +01:00
Aleric Inglewood
db5846c145 Added documentation on LLHTTPClient Responders. 2013-02-07 17:43:40 +01:00
Lirusaito
73dab7e00b Fix Sappa's issue with getString log spam, three strings weren't quite in the right xml. 2013-02-06 22:55:19 -05:00
Lirusaito
54c1fcf33d Override the viewer's Z offset with the RLV one, if the RLV one has been set. 2013-02-06 22:41:10 -05:00
Lirusaito
604acd8939 Fix Issue 628: Currency exchanges no longer notify in chat 2013-02-06 16:44:08 -05:00
Lirusaito
3d9c287410 Minor french translation update, thanks Nomade~ 2013-02-06 00:27:22 -05:00
Latif Khalifa
78dbaf2ed1 Moved RLVa menu back to advanced by default 2013-02-04 00:47:19 +01:00
Latif Khalifa
e7a2f171d9 Merge remote-tracking branch 'upstream/master' 2013-02-03 23:48:05 +01:00
Siana Gearz
dc3f91b121 Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer 2013-02-03 22:27:53 +01:00
Siana Gearz
064601ae5e Merge branch 'master' of git://github.com/AlericInglewood/SingularityViewer 2013-02-03 22:18:44 +01:00
Siana Gearz
2b036c7334 Split out HTTP texture bandwidth 2013-02-03 22:18:34 +01:00
Siana Gearz
6a774e4685 This should fix voice decline crash 2013-02-03 21:56:13 +01:00
Aleric Inglewood
83fb898852 Bug fix: Wake up curl thread at exit of viewer. 2013-02-03 17:24:26 +01:00
Latif Khalifa
4317fc36a8 Merge remote-tracking branch 'shyotl/sunshine' 2013-02-02 02:56:23 +01:00
Siana Gearz
57d43786ab Merge branch 'sunshine' of https://github.com/Shyotl/SingularityViewer 2013-02-02 02:22:46 +01:00
Shyotl
1069d5dec4 Draw trees before sky. Z-cull may be beneficial. Also, was incorrectly setting alphawrite off for deferred wlsky pass. 2013-02-01 17:16:01 -06:00
Aleric Inglewood
d055494706 Libcwd compile fixes
include linden_common.h first (is already included through the used
headers).
2013-02-01 21:26:08 +01:00
Lirusaito
0a6bebf9db Added ShowSimChannel debug setting to display sim channel information in the status bar. 2013-01-31 22:22:40 -05:00
Lirusaito
5b2e1a0aae Remove remaining dead LCD code(, also fix typo in a comment) 2013-01-31 21:32:29 -05:00
Lirusaito
46ddc9b6be Skins Request: Nano Green and Nano Purple 2013-01-31 21:18:50 -05:00
Latif Khalifa
5cbe633117 Fixed compile under older GCCs by Siana Gearz 2013-02-01 00:18:01 +01:00
Latif Khalifa
719ea47a35 Merge remote-tracking branch 'lirusato/Canon' 2013-01-31 17:21:08 +01:00
Latif Khalifa
70eeddabba Merge remote-tracking branch 'shyotl/sunshine' 2013-01-31 17:20:58 +01:00
Lirusaito
d756225684 Minimal change to fix folder->Add Items, purgeCategory wasn't supposed to be called in this case. 2013-01-31 02:41:17 -05:00
Shyotl
26de17f2de Avoid occasional DoF-related crash upon region disconnection. 2013-01-30 22:04:57 -06:00
Shyotl
be0d751334 Cleanup, further hardening of namecache callbacks, and update to avatar picker. 2013-01-30 22:04:04 -06:00
Latif Khalifa
4b0bac34dd Added the ability to have the voice enabled in multiple viewer instances 2013-01-31 01:26:39 +01:00
Lirusaito
bf8bd9cb1a Further notifications.xml touchup. 2013-01-30 19:16:56 -05:00
Lirusaito
e009b8f4b4 Added simple codeless floaters for My Outfits and Favorites folders, entries are in World menu. 2013-01-30 14:11:22 -05:00
Lirusaito
47cbaeed23 XML-Driven floater feature (and documentation)
Changes:
Adds LLUICtrlFactory::getBuiltFloater() to return LLFloater* when a floater has been built.
In llviewermenu.cpp's LLShowFloater::handleEvent():
Return early if the floater_name is empty,
otherwise if no anticipated floater is found, build one,
unless one of the same name is already built, then bring it to focus.



Documentation:
In order to add simple codeless floaters, a general understanding of our XMLs is necessary...
A simple codeless floater can be a few things, perhaps not limited to: media browsers, settings controls, and holders for inventory_panels.

So how do you make them conform to the codeless standard?
For the purpose of these examples, my floater file will always be floater_name.xml
Let's start with a shortened xml menu entry:
<menu_item_call label="Name!" name="name">
  <on_click function="ShowFloater" userdata="floater_name.xml"/>
</menu_item_call>
Alright, that wasn't so hard, just remember the key in this is ShowFloater is the function and userdata is the filename.

The next part is the actual floater, which isn't so different from making a complex floater..
There are two ways to do this, depending upon desired behavior:

The first behavior is to have only one of the floater open at a time, the following short xml exemplifies this:
<floater name="floater_name.xml" title="Name!"/>
Having a floater with this behavior will cause the menu entry to bring it into focus.

The other behavior is to allow more than one of the floater open at a time:
<floater name="name" title="Name!"/>
In this case, the menu entry will spawn a new version of the floater with every click, regardless of previous ones existing.

Granted, these short <floater/>'s probably aren't but examples and will not likely stand alone.
2013-01-30 14:07:59 -05:00
Latif Khalifa
4e29b6752e Fixed packaging of the mac build 2013-01-30 14:17:16 +01:00
Latif Khalifa
046735f043 Merge remote-tracking branch 'upstream/exp' 2013-01-30 05:49:45 +01:00
Latif Khalifa
a9b05fd029 Merge remote-tracking branch 'lirusato/master' 2013-01-30 05:48:45 +01:00
Latif Khalifa
5c8e436401 Fix windows build: warnings management 2013-01-30 05:45:00 +01:00
Latif Khalifa
4d805da6ac Package glod and colladadom dlls 2013-01-30 05:43:17 +01:00