Commit Graph

303 Commits (693e05ab85b3fcdc65bcb9f4123c2fae4ecc27fc)

Author SHA1 Message Date
Rye Mutt 409b9eebe1 Fix chat text segments not dynamically updating when colors changed in preferences 2024-08-04 23:11:57 -04:00
Rye Mutt c4e921828a Optimization and cleanup of various color finds during draw 2024-08-04 23:11:57 -04:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
2024-05-22 19:04:52 +02:00
Andrey Kleshchev 2008f87f10 Revert "viewer#819 Avoid reading the same XML file multiple times"
This reverts commit a865d42397.

Reason for revert: viewer#1420, reverting to not hold maint-A (is deepCopy not full?)
2024-05-13 21:25:58 +03:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel eb1ed3896f Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/llrender/llfontbitmapcache.cpp
#	indra/llrender/llfontbitmapcache.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llrender/llfontfreetype.h
#	indra/llrender/llfontgl.cpp
#	indra/llrender/llfontgl.h
#	indra/llui/llbutton.h
#	indra/llui/llfloater.cpp
#	indra/llui/llfloater.h
#	indra/llui/llfolderviewitem.cpp
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/llscrollcontainer.cpp
#	indra/llui/llscrollingpanellist.cpp
#	indra/llui/llscrollingpanellist.h
#	indra/llui/llscrolllistctrl.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltexteditor.h
#	indra/llui/lluictrl.cpp
#	indra/llui/llview.cpp
#	indra/llui/llview.h
#	indra/newview/llchicletbar.h
#	indra/newview/llconversationlog.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterimsessiontab.h
#	indra/newview/llfloateruipreview.cpp
#	indra/newview/llnavigationbar.h
#	indra/newview/llpaneltopinfobar.h
#	indra/newview/llpathfindingpathtool.h
#	indra/newview/lltextureview.cpp
#	indra/newview/lltoolbrush.h
#	indra/newview/lltoolcomp.h
#	indra/newview/lltooldraganddrop.h
#	indra/newview/lltoolface.h
#	indra/newview/lltoolfocus.h
#	indra/newview/lltoolindividual.h
#	indra/newview/lltoolobjpicker.h
#	indra/newview/lltoolpie.h
#	indra/newview/lltoolpipette.h
#	indra/newview/lltoolselectland.h
#	indra/newview/llviewermediafocus.h
#	indra/newview/llviewerparcelmediaautoplay.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvoicechannel.h
#	indra/newview/llvoicevivox.h
#	indra/newview/llworldmapview.cpp
2024-03-12 16:52:30 +01:00
Alexander Gavriliuk a865d42397 viewer#819 Avoid reading the same XML file multiple times 2024-03-05 19:54:31 +01:00
Ansariel 60d3dd98a4 Convert remaining BOOL to bool 2024-02-21 23:14:31 +02:00
Ansariel a5261a5fa8 Convert BOOL to bool in llui 2024-02-21 03:00:25 +02:00
Ansariel c285f59ce2 Replace BOOL with bool in llwindow and dependent classes 2024-02-18 15:51:54 +02:00
Andrey Kleshchev 7373fd91fa Merge remote-tracking branch 'origin/main' into DRTVWR-489
# Conflicts:
#	indra/llcommon/llsdserialize.cpp
#	indra/llcommon/llsdserialize.h
#	indra/llmath/llvolume.cpp
#	indra/llrender/llgl.cpp
#	indra/llxml/llcontrol.cpp
#	indra/newview/llpanelnearbymedia.cpp
#	indra/newview/llsceneview.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llstartup.cpp
#	indra/newview/lltextureview.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/skins/default/xui/en/menu_viewer.xml
2023-08-24 01:23:52 +03:00
Alexander Gavriliuk 671978e392 SL-19575 Create emoji gallery (fix bug with drawing emojis in chat history) 2023-05-17 19:06:57 +02:00
Andrey Kleshchev daca555592 SL-19609 Urls aren't dispatched according to the indicated grid 2023-04-19 20:06:37 +03:00
Kitty Barnett 77afc073c5 Merge branch 'xcode-14.1' into DRTVWR-489-emoji 2023-02-08 17:18:37 +01:00
Callum Linden cbb7480ca7 Fix merge conflicts after auto merge 2023-01-20 16:23:41 -08:00
Andrey Lihatskiy f836194516 Merge branch 'main' into DRTVWR-570-maint-Q
# Conflicts:
#	doc/contributions.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/llfloater360capture.cpp
2022-12-12 20:53:11 +02:00
Kitty Barnett 7ebaa2d2e5 Merge branch contribution/emoji into DRTVWR-489-emoji 2022-11-09 23:25:02 +01:00
Kitty Barnett f3e7c7454f Enable color emojis (and the emoji helper) on the chat history and editor 2022-11-08 01:25:45 +01:00
Rye Mutt 22dc6de993 Fix trivial memory leaks in note card processing, chat history, and task inventory 2022-10-19 19:41:46 -04:00
Rye Mutt a48374e8cf Defer chat history menu creation to right click time to reduce heavy menu bloat and fix chat history menu hoarding 2022-10-19 16:22:24 -04:00
Andrey Lihatskiy b5861e58cb Merge branch 'master' into DRTVWR-565-maint-P 2022-09-15 20:43:02 +03:00
Andrey Kleshchev 10eb8424af SL-3007 Small improvements for auto filling abuse reports #2 2022-09-06 01:23:41 +03:00
Mnikolenko Productengine 0191ee5f6f SL-17973 FIXED region name is not shown in the IM chat 2022-08-17 14:50:03 +03:00
Andrey Lihatskiy 77ce594dec Merge branch 'master' into DRTVWR-544-maint 2022-06-29 20:31:17 +03:00
Andrey Lihatskiy 9b0569840f Merge branch 'master' into DRTVWR-544-maint
# Conflicts:
#	indra/llprimitive/llmodel.cpp
#	indra/llprimitive/llmodel.h
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewer.h
2022-05-31 01:58:09 +03:00
Andrey Lihatskiy 3da7a50b71 Merge branch 'master' into DRTVWR-543-maint
# Conflicts:
#	autobuild.xml
#	indra/cmake/LLCommon.cmake
#	indra/llcommon/CMakeLists.txt
#	indra/llrender/llgl.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llface.cpp
#	indra/newview/llflexibleobject.cpp
#	indra/newview/llvovolume.cpp
2022-05-27 02:51:33 +03:00
Andrey Kleshchev 9373f64f49 SL-3007 Small improvements for auto filling abuse reports 2022-05-17 22:14:26 +03:00
Andrey Kleshchev 1d79d101ec SL-17040 Crash when looking for a region by handle or position
Might be a better idea to turn LLWorld back into an LLSingleton. Too many things to track.
2022-03-21 21:14:20 +02:00
Andrey Kleshchev 1f542bf542 SL-3007 mac build fix 2022-01-25 23:30:20 +02:00
Andrey Kleshchev e129986a49 SL-3007 Ability to report abuse from chat 2022-01-24 23:37:21 +02:00
Andrey Kleshchev a6833096c4 SL-15881 Crash at setCommitCallback 2021-08-25 17:33:55 +03:00
Andrey Kleshchev ca6121979c SL-14796 Updated code accordingly to changed event order 2021-02-04 18:06:17 +02:00
Andrey Kleshchev 1dd32bb772 SL-14796 After teleporting, add notation into Nearby Chat 2021-02-03 20:05:20 +02:00
Andrey Lihatskiy a9885029cf Merge branch 'master' into DRTVWR-507-maint 2020-08-18 19:11:34 +03:00
Andrey Lihatskiy f77a30f740 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	autobuild.xml
2020-07-21 11:30:48 +03:00
Andrey Lihatskiy 7bbf3f5f7f Merge branch 'master' into DRTVWR-501-maint
# Conflicts:
#	autobuild.xml
#	indra/newview/llimprocessing.cpp
2020-07-20 22:24:10 +03:00
Andrey Kleshchev 9751942372 Small Cleanup 2020-05-18 18:33:08 +03:00
Nat Goodspeed 9d5b897600 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
The previous implementation went to some effort to crash if anyone attempted
to create or destroy an LLInstanceTracker subclass instance during traversal.
That restriction is manageable within a single thread, but becomes unworkable
if it's possible that a given subclass might be used on more than one thread.

Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(),
also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot()
and instance_snapshot(), the only means of iterating over LLInstanceTracker
instances. (These are intended to resemble functions, but in fact the current
implementation simply presents the classes.) Iterating over a captured
snapshot defends against container modifications during traversal. The term
'snapshot' reminds the coder that a new instance created during traversal will
not be considered. To defend against instance deletion during traversal, a
snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the
fly any that have expired.

Dereferencing instance_snapshot::iterator gets you a reference rather than a
pointer. Because some use cases want to delete all existing instances, add an
instance_snapshot::deleteAll() method that extracts the pointer. Those cases
used to require explicitly copying instance pointers into a separate
container; instance_snapshot() now takes care of that. It remains the caller's
responsibility to ensure that all instances of that LLInstanceTracker subclass
were allocated on the heap.

Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned
nullptr if that instance had been destroyed -- with new getWeak() method
returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr.

Adjust tests accordingly.

Use of std::weak_ptr to detect expired instances requires engaging
std::shared_ptr in the constructor. We now store shared_ptrs in the static
containers (std::map for keyed, std::set for unkeyed).

Make LLInstanceTrackerBase a template parameterized on the type of the static
data it manages. For that reason, hoist static data class declarations out of
the class definitions to an LLInstanceTrackerStuff namespace.

Remove the static atomic sIterationNestDepth and its methods incrementDepth(),
decrementDepth() and getDepth(), since they were used only to forbid creation
and destruction during traversal.

Add a std::mutex to static data. Introduce an internal LockStatic class that
locks the mutex while providing a pointer to static data, making that the only
way to access the static data.

The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer
expect ~LLInstanceTracker() to throw an exception in test programs.
That affects LLTrace::StatBase as well as LLInstanceTracker itself.

Adapt consumers to the new LLInstanceTracker API.
2020-03-25 15:28:17 -04:00
andreykproductengine 9c1e849083 SL-12305 More missing-file handling
instance().getCurFileName() was returning empty value despite supposedly non-empty filename
2019-11-18 20:12:50 +02:00
andreykproductengine 1d3266910c MAINT-8742 Crashes at draw and getHandle 2018-06-08 20:22:36 +03:00
Andrey Kleshchev 6bb9ec4195 MAINT-8498 Fixed item offers not appearing after friednship offer 2018-04-17 13:11:53 +00:00
Mnikolenko ProductEngine 548b372af2 MAINT-7629 FIXED Crash in LLSpeakerMgr::findSpeaker(LLUUID const &) 2017-07-24 17:48:55 +03:00
andreykproductengine e72c120e9e MAINT-6805 Fixed Right-click menus in the right and left panes of the Conversations windows are different 2017-05-17 22:34:50 +03:00
andreykproductengine 605160d501 MAINT-7118 Swapping legacy people API with new cache 2017-02-15 20:40:03 +02:00
andreykproductengine efa716b5fc MAINT-2129 "Block" button doesn't become disabled 2016-05-18 19:29:31 +03:00
AndreyL ProductEngine b25a22a2c1 Merged in lindenlab/viewer-release 2016-05-19 23:02:37 +03:00
andreykproductengine 1241558dbf MAINT-2129 "Block" button doesn't become disabled in remote object inspector after object has been added to block list 2016-04-20 19:40:19 +03:00