Age | Commit message (Collapse) | Author |
|
The bug was driven by the following sequence in llstartup.cpp:
if(reason_response == "update"
|| reason_response == "optional")
{
// used to resend status event still containing "update",
// erroneously instantiating a second forced-update
// LLAlertDialog
LLLoginInstance::getInstance()->disconnect();
// quit with an LLAlertDialog still on sModalStack used
// to result in LL_ERRS
LLAppViewer::instance()->forceQuit();
}
I hope to be able to introduce a test script to verify the fix. That
script would need to be able to call LLAppViewer::forceQuit() rather than
requestQuit(), which is already available via LLAppViewerListener.
At the same time, changed LLAppViewerListener to bind a functor to
retrieve an LLAppViewer instance (namely LLAppViewer::instance) rather
than an LLAppViewer*. Apparently the static instantiation of
LLAppViewerListener was calling LLAppViewer::instance() too early, before
things were ready, so the declaration was changed to pass NULL -- then
in each method, call LLAppViewer::instance() if the bound pointer is NULL.
Binding the LLAppViewer* is a Feathers tactic intended to avoid the need
to reference the singleton. Binding a functor still leaves it up to the
instantiating code to reference LLAppViewer::instance, while deferring
the actual call to that method.
|
|
Based on discussion with James and Richard, this operation should allow an
automation script to locate a visible LLFloater and simulate clicking any one
of its LLButton children by name. As yet untested.
|
|
Better term? The point of the method is to verify that a user could
actually interact with the LLView in question.
|
|
The logic was redundantly expressed in LLFloaterReg -- and would be
useful elsewhere -- so was introduced as LLFloater::isShown(). Thanks to
Richard and James for suggesting the terminology.
|
|
|
|
|
|
Don't schedule the queue timer in the tick() of the retry timer.
Instead, schedule it in the RetryTimer's destructor.
This is an artifact of how the LLEventTimer's loop is handled.
|
|
|
|
|
|
also fire in the same 'pump'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Escape key cancels zoom, zoom in closer
I also refactored the code a little to be able to
experiment with more zoom levels.
Review #13
|
|
|
|
|
|
issues around the newly-dynamic libllcommon.dylib. This includes making it set the current working directory to a known location inside its bundle on launch.
Changed indra/test_apps/llplugintest/CMakeLists.txt to copy various bits now needed inside the app bundle on the mac.
|
|
|
|
This is the duration through which the time-based media has loaded, and should be between zero and the value of the "duration" parameter. If the parameter is not supplied, it will be implicitly set to the same value as the "duration" parameter, so the movie will appear fully loaded. This can be queried with LLPluginClassMedia::getLoadedDuration().
Made the "loaded_duration" parameter also implicitly set the progress percentage and send out MEDIA_EVENT_PROGRESS_UPDATED messages when it changes.
Made the quicktime plugin set the "loaded_duration" parameter in its update messages.
|
|
|
|
|
|
|
|
|
|
This required a bit of refactoring of LLMediaDataClient:
- Created LLMediaDataClientObject ABC, which now has a
concrete impl in LLVOVolume
- Created unit test with 6 tests (for now), testing
- LLObjectMediaDataClient::fetchMedia()
- LLObjectMediaDataClient::updateMedia()
- LLObjectMediaNavigateClient::navigate()
- queue ordering
- retries
- nav bounce back
- Also ensures that ref counting works properly (this is important, because
ownership is tricky with smart pointers put into queues, peeled off
into timers that fire and auto destruct, and HTTP responders that also
auto-destruct)
- Had to fix LLCurl::Responder's stub, which was not initializing
the ref count to 0, causing the ref counting tests to fail
(boy, that was hard to find!).
Reviewed by Callum
|
|
existing event calls to use state as "offline" or "online", with "change"
indicating the reason for this status event. Changed disconnect() to send
state "offline", change "disconnect" -- instead of replaying last auth
failure. Changed unit tests accordingly.
Changed LLLoginInstance::handleLoginEvent() to use LLEventDispatcher to route
calls to handleLoginFailure() et al.
Added LLEventDispatcher::get() to allow retrieving Callable by name and
testing for empty().
|
|
There were a couple of issues interacting to cause this:
Firstly, when LLViewerMediaImpl delayed loading the parcel media (which it normally does), it was losing track of the specified MIME type, but the autodiscovery code also wasn't being triggered. The code should now carry through both the specified MIME type and the autodiscovery flag when loading is delayed.
Second, the new media autodiscovery code might not work for some legacy parcel media content (for example, if it's stored on a server that doesn't report the correct MIME types). The code has been changed to first check whether the specified MIME type maps to a known plugin and allow that to override MIME type detection, which should allow this legacy content to keep working.
|
|
modal dialog still left open will crump on destruction with LL_ERRS. If we
don't want the user to shut down the app with a modal dialog open, we should
deal with it better than a popup that simply makes us look buggy.
|
|
|
|
the scrollEvent() API's x and y are not the same as
handleScrollWheel's x and y. The latter is the position of the mouse
at the time of the event. The former is the 'scroll amount' in x and
y, respectively. All we have for 'scroll amount' here is 'clicks', and
no mask.
|
|
|
|
code reviews.
|
|
|
|
|
|
MEDIA_EVENT_NAVIGATE_COMPLETE. Doing so was breaking the bounceback code.
|
|
|
|
|
|
reviewed by Brad
|
|
mCloseSignal. In the vast majority of cases, mCloseSignal is being bound to an onClose function. Just make it virtual and be done with it. Renamed a couple of LLPanel close methods to onClosePanel() to distinguish them. Reviewed with Richard.
|
|
is "") if the server denies navigation
This refactors some of the bounceBack code into LLVOVolume.
It also changes an important rule: the edit panel now *will* send the
current URL to the server when you hit "OK". This change was done so
that if autoplay is on, we make sure the server gets the right data.
|
|
reviewed by James
|
|
Not reviewed.
|
|
Those art files no longer exist. Not reviewed.
|
|
|
|
by rick
|
|
|
|
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1908 https://svn.aws.productengine.com/secondlife/pe/stable-2@1917 -> viewer-2.0.0-3
* Bugs: EXT-1257 EXT-1299 EXT-1149 EXT-1117 EXT-1134
* New Dev: EXT-721
|