Commit Graph

141 Commits (4c2d4e32addd95dedf01acf254db9b41b0813fdb)

Author SHA1 Message Date
Rye Mutt 5456af4c8c Fix various menu leaks and lazy creation in chiclets, bump floater, media controls, and the mini map 2022-10-19 16:28:34 -04:00
Andrey Kleshchev 8116078c72 SL-16965 360 Snapshot tool fails to save file to computer 2022-03-02 23:45:26 +02:00
Mnikolenko Productengine a4431fe12f SL-16638 don't allow downloading files from the built-in browser 2022-01-14 15:37:18 +02:00
AndreyL ProductEngine 5f731d84cb Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
AndreyL ProductEngine 0ff935ca3c Brought back the changes from @andreyk for improved mouse scroll wheel performance (previously 8e228364f324) 2019-10-16 01:37:15 +03:00
AndreyL ProductEngine 910fea5470 Backed out changeset: cf8cdb77790b 2019-10-16 02:04:29 +03:00
AndreyL ProductEngine f452f0c0a0 Buildfix 2019-10-16 01:26:14 +03:00
AndreyL ProductEngine 7a90e71adf Downstream merge from lindenlab/viewer-manul 2019-10-15 20:38:08 +03:00
AndreyL ProductEngine 2f7b606202 Backed out changeset: 8e228364f324 2019-09-14 05:14:24 +03:00
andreykproductengine 98b28e5881 SL-11910 [Win] Horizontal scroll 2019-09-10 19:49:15 +03:00
andreykproductengine 8369276a49 DRTVWR-493 LLViewerMedia to singleton 2019-06-21 20:55:39 +03:00
callum_linden 7bce446b28 Changes from @andreyk for improved mouse scroll wheel performance and pull in new Dullahan with CEF 74.1.19_gb62bacf_chromium-74.0.3729.157 2019-06-10 14:09:31 -07:00
callum_linden 6ced87c027 Pull in Dullahan 1.1.930 with improved fix for maint-8095 (target='_blank' links) as well as an improvement for maint-8100 (no error message for invalid hostname / url) 2017-12-15 16:11:29 -08:00
Mnikolenko Productengine 21d8a7f09c startup crash fix 2017-10-03 15:17:35 +03:00
ruslantproductengine e6e606df3c MAINT-7666 [CEF] mouse cursor target is offset on login screen for high resolution screens 2017-09-28 14:32:29 +03:00
andreykproductengine f73b0ecd10 MAINT-6658 Profile was opening app url in browser. 2016-08-26 17:56:59 +03:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
callum_linden 3bf8929d93 MAINT-5966 - file download failures need feedback 2015-12-15 15:24:41 -08: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 9833a50260 MAINT-5754: For MoaP and MediaCtrls forward all events including KEYUP and KEYDOWN to the CEF plugin. 2015-10-27 15:17:12 -07:00
callum_linden 6599e10d00 Merge with tip of viewer-release 2015-10-20 16:39:00 -07:00
callum_linden 236b3b9f84 support for external links and location_changed messages 2015-09-03 18:16:46 -07:00
andreykproductengine 1d3c59f29c MAINT-5398 FIXED [BetaBreakers] TOS additional policy links cannot be scrolled or closed once opened 2015-07-23 19:15:07 +03:00
callum_linden ca49ad736a Initial support for keyboard (in progress) but includes many viewer changes to plumb in Key Up events 2015-07-10 01:01:07 +01:00
andreykproductengine d05107193b MAINT-5062 FIXED Non-default UI sizing breaks scroll bar functions 2015-04-27 16:00:32 +03:00
callum_linden 23711c9275 Rename llround(..) to ll_round(..) because of a collision with MS llround (long long round) in VS2013 2014-12-10 08:44:08 -08:00
simon 05319e6c94 Pull downstream viewer-tiger and become version 3.7.11 2014-06-24 10:06:28 -07:00
simon d760a6889d Merge downstream code 2014-06-18 19:02:25 -07:00
Merov Linden c4c8debfc2 Pull merge from lindenlab/viewer-release 2014-06-17 11:12:27 -07:00
Stinson Linden 8392fde6f6 Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-drtvwr-365. 2014-06-02 22:32:16 +01:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Stinson Linden 8e7912f382 MAINT-4009: Improved patching of a memory leak for when menu items are created before the viewer window initialization has created the menu holder. See also changeset bc0743639926a84b38b4907d252eff1cc0498c7d. 2014-05-09 23:06:53 +01:00
andreykproductengine b36458a98f MAINT-1734 FIXED Avatar chooser panel is empty the session after an avatar is chosen. 2014-05-12 20:01:20 +03:00
Merov Linden 8dae4bc222 Pull merge from lindenlab/viewer-release. Fixed some conflicts and compile errors 2014-05-06 18:21:04 -07:00
Stinson Linden 001621dfc2 MAINT-4009: Patching a small memory leak for when menu items were being created before the viewer window initialization had created the menu holder. Also, added llasserts in other cases when referencing the menu holder to ensure the holder is non-null. 2014-05-05 23:24:34 +01:00
Merov Linden a36c4f45b4 ACME-1043 : WIP : Add an argument to open trusted content with js and other enabled options, bypassing prefs 2013-12-04 18:02:04 -08: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 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Richard Linden 3a0e45ff08 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
renamed LLView::handleVisibilityChange to onVisibilityChange to reflect
standard naming conventions for handlers vs. reactors
2013-05-10 17:57:12 -07:00
Richard Linden 41b4374760 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
renamed LLView::handleVisibilityChange to onVisibilityChange to reflect
standard naming conventions for handlers vs. reactors
2013-05-10 17:57:12 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Don Kjer f945415210 Large changes to the LLCurl::Responder API, as well as pulling in some changes to common libraries from the server codebase:
* Additional error checking in http handlers.
* Uniform log spam for http errors.
* Switch to using constants for http heads and status codes.
* Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error.
* Reduced spam regarding LLSD parsing errors in the default completedRaw http handler.  It should not longer be necessary to short-circuit completedRaw to avoid spam.
* Ported over a few bug fixes from the server code.
* Switch mode http status codes to use S32 instead of U32.
* Ported LLSD::asStringRef from server code; avoids copying strings all over the place.
* Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob.
* Ported server pretty notation format (and pretty binary format) to llsd serialization.

* The new LLCurl::Responder API no longer has two error handlers to choose from.  Overriding the following methods have been deprecated:
** error - use httpFailure
** errorWithContent - use httpFailure
** result - use httpSuccess
** completed - use httpCompleted
** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers.

* In order to 'catch' a completed http request, override one of these methods:
** httpSuccess - Called for any 2xx status code.
** httpFailure - Called for any non-2xx status code.
** httpComplete - Called for all status codes.  Default implementation is to call either httpSuccess or httpFailure.
* It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below).

* Uniform error handling should followed whenever possible by calling a variant of this during httpFailure:
** llwarns << dumpResponse() << llendl;
* Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context.

* In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed.
* Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class).
* Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods:
** successResult - Sets results and calls httpSuccess
** failureResult - Sets results and calls httpFailure
** completedResult - Sets results and calls httpCompleted

* To obtain information about a the response from a reponder method, use the following getters:
** getStatus - HTTP status code
** getReason - Reason string
** getContent - Content (Parsed body LLSD)
** getResponseHeaders - Response Headers (LLSD map)
** getHTTPMethod - HTTP method of the request
** getURL - URL of the request

* It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO.

* See indra/llmessage/llcurl.h for more information.
2013-03-13 06:26:25 +00:00
Nyx Linden 1586107e87 SH-3944 WIP CHUI merge fixing
re-introduced don's refactor of low-level openGL calls pulling out of llui
and putting them into llrender. Took the new code from their updated versions
from the CHUI merge, but put them in a place accessible to appearance utility.
2013-03-12 22:34:15 +00:00
prep e0432f98ee SH-3563. Pull and merge from viewer-development. Modest code changes to fix alignment issue in llAppearance. 2012-11-28 16:36:34 -05:00
Don Kjer cf7eb79fa7 Removed most llappearance -> llui dependencies (LLTrans remains). Moved LLInventoryIcon::EIconName into LLInventoryType. Moved LLInventoryIcon back to newview. Moved LLUI gl_* functions into llrender. 2012-09-08 04:39:11 +00:00
Nat Goodspeed 3653727e7f Introduce new LLDir::findSkinnedFilenames() method. Use as needed.
In a number of different places, for different reasons, the viewer wants to
load a UI-related file that might be overridden by a non-default skin; and
within that skin, might further be overridden by a non-default language.
Apparently, for each of those use cases, every individual developer approached
it as an entirely new problem, solving it idiosyncratically for that one case.
Not only is this a maintenance problem, but it rubs one's nose in the fact
that most such solutions consider only a subset of the relevant skin
directories.
Richard and I evolved an API intended to address all such cases: a central
LLDir method returning a list of relevant pathnames, from most general to most
localized, filtered to present only existing files; plus a couple of
convenience methods to specifically obtain the most general and most localized
available file.
There were several load-skinned-file methods (LLFloater::buildFromFile(),
LLPanel::buildFromFile() and LLUICtrlFactory::createFromFile() -- apparently
cloned-and-modified from each other) that contained funky bolted-on logic to
output the loaded data to an optional passed LLXMLNodePtr param. The trouble
is that passing that param forced each of these methods to subvert its normal
search: specifically for that case, it needed to find the baseline XML file
instead of the localized one. Richard agreed that for the intended usage
(reformatting XML files) we should use XML schema instead, and that the hacky
functionality should be removed. Remove it. Also remove
LLUICtrlFactory::getLocalizedXMLNode(), only used for those three special cases.
Some callers explicitly passed the optional LLXMLNodePtr param as NULL. Remove
that.
Remove LLFloaterUIPreview::displayFloater(save) param, which relied on the
optional output LLXMLNodePtr param. Make onClickSaveFloater() and
onClickSaveAll() emit popupAndPrintWarning() about discontinued functionality.
Recast LLFloater::buildFromFile(), LLPanel::buildFromFile(),
LLUICtrlFactory::createFromFile(), LLNotifications::loadTemplates(),
LLUI::locateSkin(), LLFontRegistry::parseFontInfo(),
LLUIColorTable::loadFromSettings(), LLUICtrlFactory::loadWidgetTemplate(),
LLUICtrlFactory::getLayeredXMLNode(), LLUIImageList::initFromFile(),
LLAppViewer::launchUpdater() and LLMediaCtrl::navigateToLocalPage() to use
findSkinnedFilenames(). (Is LLAppViewer::launchUpdater() ever called any more?
Apparently so -- though the linux-updater.bin logic to process the relevant
command-line switch has been disabled. Shrug.) (Is
LLMediaCtrl::navigateToLocalPage() ever used?? If so, why?)
Remove LLUI::setupPaths(), getXUIPaths(), getSkinPath() and
getLocalizedSkinPath(). Remove the skins/paths.xml file read by setupPaths().
The only configuration it contained was the pair of partial paths "xui/en" and
"xui/[LANGUAGE]" -- hardly likely to change. getSkinPath() specifically
returned the first of these, while getLocalizedSkinPath() specifically
returned the second. This knowledge is now embedded in findSkinnedFilenames().
Also remove paths.xml from viewer_manifest.py.
Remove injected xui_paths from LLFontGL::initClass() and
LLFontRegistry::LLFontRegistry(). These are no longer needed since
LLFontRegistry can now directly consult LLDir for its path search. Stop
passing LLUI::getXUIPaths() to LLFontGL::initClass() in LLViewerWindow's
constructor and initFonts() method.
Add LLDir::append() and add() methods for the simple task of combining two
path components separated by getDirDelimiter() -- but only if they're both
non-empty. Amazing how often that logic is replicated. Replace some existing
concatenations with add() or append().
New LLDir::findSkinnedFilenames() method must know current language. Allow
injecting current language by adding an LLDir::setSkinFolder(language) param,
and pass it where LLAppViewer::init() and initConfiguration() currently call
setSkinFolder(). Also add LLDir::getSkinFolder() and getLanguage() methods.
Change LLFLoaterUIPreview's LLLocalizationResetForcer helper to "forcibly
reset language" using LLDir::setSkinFolder() instead of LLUI::setupPaths().
Update LLDir stubs in lldir_stub.cpp and llupdaterservice_test.cpp.
Add LLDir::getUserDefaultSkinDir() to obtain often-overlooked possible skin
directory -- like getUserSkinDir() but with "default" in place of the current
skin name as the last path component. (However, we hope findSkinnedFilenames()
obviates most explicit use of such individual skin directory pathnames.)
Add LLDir unit tests for new findSkinnedFilenames() and add() methods -- the
latter exercises append() as well.
Tweak indra/integration_tests/llui_libtest/llui_libtest.cpp for all the above.
Notably, comment out its export_test_floaters() function, since the essential
LLFloater::buildFromFile(optional LLXMLNodePtr) functionality has been
removed. This may mean that llui_libtest.cpp has little remaining value, not
sure.
2012-10-10 14:57:43 -04:00
Richard Linden 40a74eb5b7 EXP-1711 FIX LLWindowShade doesn't stack multiple notifications 2011-12-12 12:32:22 -08:00
Richard Linden a507fc259b finished removing remnants of media browser 2011-11-07 15:04:53 -08:00