summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
AgeCommit message (Collapse)Author
2024-05-08Merge branch 'nat/cleanup-timers' into lua-timers.Nat Goodspeed
2024-05-02Introduce LLLater::getRemaining(handle).Nat Goodspeed
Some timer use cases need to know not only whether the timer is active, but how much time remains before it (next) fires. Introduce LLLater::mDoneTimes to track, for each handle, the timestamp at which it's expected to fire. We can't just look up the target timestamp in mQueue's func_at entry because there's no documented way to navigate from a handle_type to a node iterator or pointer. Nor can we store it in mHandles because of order dependency: we need the mDoneTimes iterator so we can bind it into the Periodic functor for doPeriodically(), but we need the mQueue handle to store in mHandles. If we could find the mQueue node from the new handle, we could update the func_at entry after emplace() -- but if we could find the mQueue node from a handle, we wouldn't need to store the target timestamp separately anyway. Split LLLater::doAtTime() into internal doAtTime1() and doAtTime2(): the first creates an mDoneTimes entry and returns an iterator, the second finishes creating new mQueue and mHandles entries based on that mDoneTimes entry. This lets doPeriodically()'s Periodic bind the mDoneTimes iterator. Then instead of continually incrementing an internal data member, it increments the mDoneTimes entry to set the next upcoming timestamp. That lets getRemaining() report the next upcoming timestamp rather than only the original one. Add LLEventTimer::isRunning() and getRemaining(), forwarding to its LLLater handle. Fix various LLEventTimer subclass references to mEventTimer.stop(), etc. Fix non-inline LLEventTimer subclass tick() overrides for bool, not BOOL. Remove LLAppViewer::idle() call to LLEventTimer::updateClass(). Since LLApp::stepFrame() already calls LLCallbackList::callFunctions(), assume we've already handled that every tick.
2024-04-24Merge 'main' into release/luau-scripting on promotion of Maint YZNat Goodspeed
2024-04-16Merge branch 'main' into release/luau-scriptingNat Goodspeed
2024-04-10Merge branch 'main' into marchcat/y-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/llsys.cpp
2024-04-03Merge branch 'main' into release/luau-scripting.Nat Goodspeed
2024-03-27Merge branch 'main' into marchcat/yz-mergeAndrey Lihatskiy
2024-03-27Merge remote-tracking branch 'origin/main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # .github/workflows/build.yaml
2024-03-05SL-17896 Don't crash silently if files are missing or out of memoryAndrey Kleshchev
Under debug LL_ERRS will show a message as well, but release won't show anything and will quit silently so show a notification when applicable.
2024-02-09Add command-line switches --lua "chunk" and --luafile pathname.Nat Goodspeed
--lua "chunk" runs the specified Lua chunk at startup time. --luafile pathname runs the specified Lua script file at startup time. You may specify more than one --lua or --luafile switch on the command line.
2024-02-05Merge branch 'DRTVWR-599-maint-Z' into release/maint-yzAndrey Lihatskiy
# Conflicts: # indra/newview/llchiclet.h
2024-01-22SL-18721 Shutdown fixesAndrey Kleshchev
1. After window closes viewer still takes some time to shut down, so added splash screen to not confuse users (and to see if something gets stuck) 2. Having two identical mWindowHandle caused confusion for me, so I split them. It looks like there might have been issues with thread being stuck because thread's handle wasn't cleaned up. 3. Made region clean mCacheMap immediately instead of spending time making copies on shutdown
2024-01-22NSException testAndrey Kleshchev
2024-01-16SL-20783 Fix excessive control messagesAndrey Kleshchev
controlFlagsDirty() gets set every frame as an example if 'w' is held, causing viewer to send updates each frame, which can be excessive
2024-01-09DRTVWR-599 OSX buildfix #3Andrey Lihatskiy
2024-01-09Replace BOOST_FOREACH with standard C++ range-based for-loopsAnsariel
2023-12-18Merge branch 'main' into DRTVWR-594-maint-YAndrey Lihatskiy
2023-12-15SL-20702 Remove ALM info in AboutMnikolenko Productengine
2023-12-14Merge branch 'DRTVWR-587-maint-V' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # indra/newview/llspatialpartition.cpp
2023-11-30Merge branch 'DRTVWR-594-maint-Y' into marchcat/594-y-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp # indra/newview/skins/default/xui/en/notifications.xml
2023-11-30Merge branch 'DRTVWR-588-maint-W' into marchcat/588-w-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llvertexbuffer.cpp # indra/llui/llflatlistview.cpp # indra/newview/lldrawpoolground.cpp # indra/newview/llspatialpartition.cpp # indra/newview/lltexturefetch.cpp # indra/newview/llviewergenericmessage.cpp # indra/newview/llviewertexture.cpp # indra/newview/llvosky.cpp # indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml # indra/newview/skins/default/xui/en/floater_stats.xml # indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml # indra/newview/skins/default/xui/en/notifications.xml # indra/newview/skins/default/xui/en/panel_performance_preferences.xml
2023-11-29Merge branch 'DRTVWR-559' into marchcat/587-v-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/CMakeLists.txt # indra/newview/llspatialpartition.cpp # indra/newview/llviewergenericmessage.cpp # indra/newview/llvoavatar.cpp
2023-11-23SL-17434 Crash clearing LLEventPumpsAndrey Kleshchev
We actively use event pumps's connections in threads, make sure nothing modifies list of connections during reset. And in case this doesn't fix the issue list affected pump before it crashes to have a better idea of what is going on.
2023-11-20SL-20550 Infinite loop test crashes intantly on MacOS.Andrey Kleshchev
2023-10-25Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-10-25Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-10-25Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/tests/llleap_test.cpp # indra/newview/viewer_manifest.py
2023-10-17SL-18837: Avoid stuffing build number into 32-bit int.Nat Goodspeed
Even though LLVersionInfo::getBuild() already returns a 64-bit int, various consumers assumed it could fit into 32 bits. It was especially bad to pass it to a classic C style varargs function. Only on a little-endian CPU, and only because it was the last argument, the damage was limited to truncation -- instead of arbitrary undefined behavior. Where the consumer doesn't support 64-bit ints, pass as string instead.
2023-10-04SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-10-03Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # indra/llui/lltooltip.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llvovolume.cpp # indra/newview/skins/default/textures/textures.xml
2023-10-03Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorymodel.cpp # indra/newview/llvovolume.cpp
2023-10-03Merge branch 'main' (DRTVWR-567) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/newview/CMakeLists.txt # indra/newview/VIEWER_VERSION.txt # indra/newview/llagent.cpp # indra/newview/llfloaternewfeaturenotification.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorymodel.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/llpanelmaininventory.cpp # indra/newview/llpanelmaininventory.h # indra/newview/llsidepaneltaskinfo.cpp # indra/newview/llsidepaneltaskinfo.h # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/llviewerinventory.cpp # indra/newview/llviewerobject.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llviewertexturelist.h # indra/newview/skins/default/xui/en/floater_new_feature_notification.xml # indra/newview/skins/default/xui/en/menu_inventory.xml
2023-09-11Merge remote-tracking branch 'remotes/origin/DRTVWR-559' into davep/SL-19842RunitaiLinden
2023-09-07SL-18837: Merge branch 'main' into actionsNat Goodspeed
2023-09-01SL-19664 Crash in LLAppViewer::initStrings(2985) - log extended infoAlexander Gavriliuk
2023-09-01SL-19664 Crash in LLAppViewer::initStrings(2985) - log extended infoAlexander Gavriliuk
2023-09-01SL-19664 Crash in LLAppViewer::initStrings - make the error message more ↵Alexander Gavriliuk
informative
2023-08-30SL-19664 Crash in LLAppViewer::initStrings - make the error message more ↵Alexander Gavriliuk
informative
2023-08-29SL-20229 Add GenericStreamingMessage and use it to receive GLTF material ↵RunitaiLinden
overrides
2023-08-23Merge branch main (DRTVWR-582) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/newview/app_settings/settings.xml # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorymodel.cpp # indra/newview/llinventoryobserver.cpp # indra/newview/llinventoryobserver.h # indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml
2023-08-23Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2023-08-23Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-08-23Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-08-03SL-18049 Part 1; Allow voice to be enabled in second instanceAndrey Kleshchev
2023-07-21SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-07-17Merge branch 'main' (DRTVWR-580) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/llui/llfolderviewitem.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorymodelbackgroundfetch.cpp
2023-07-17Merge branch 'main' (DRTVWR-580) into DRTVWR-587-maint-VAndrey Kleshchev
2023-07-17Merge branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/llcommon/llerrorthread.cpp
2023-07-17SL-19306 A method of displaying user-customized keybindings in user-visible textAndrey Kleshchev