Commit Graph

70 Commits (215412e28aa93b2fc712665f25d7da75d845097d)

Author SHA1 Message Date
Ansariel 088cc2ea35 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llpointer.h
#	indra/llcommon/llqueuedthread.cpp
#	indra/llfilesystem/llfilesystem.cpp
#	indra/llui/llconsole.cpp
#	indra/llui/llkeywords.cpp
#	indra/llui/llstatgraph.cpp
#	indra/llui/llvirtualtrackball.cpp
#	indra/newview/llagentcamera.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloateremojipicker.cpp
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloatersettingsdebug.cpp
#	indra/newview/llfloatersnapshot.cpp
#	indra/newview/llglsandbox.cpp
#	indra/newview/llnetmap.cpp
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llpanelplaceprofile.cpp
#	indra/newview/llstartup.cpp
#	indra/newview/llviewermessage.cpp
#	indra/newview/llvocache.cpp
#	indra/newview/llworldmapview.cpp
2024-07-09 02:25:42 +02:00
Ansariel a17fd2352a Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcharacter/llkeyframemotion.cpp
#	indra/llcharacter/llmotioncontroller.cpp
#	indra/llcrashlogger/llcrashlogger.cpp
#	indra/llimage/llimagetga.cpp
#	indra/llmessage/llregionflags.h
#	indra/llprimitive/lldaeloader.cpp
#	indra/llprimitive/llmodel.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/llui/llconsole.cpp
#	indra/llui/llkeywords.cpp
#	indra/llui/llscrolllistctrl.cpp
#	indra/llui/lltextbase.cpp
#	indra/llui/lltexteditor.cpp
#	indra/llui/llurlentry.cpp
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterworldmap.cpp
#	indra/newview/llgiveinventory.cpp
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llpanelteleporthistory.cpp
#	indra/newview/llvocache.cpp
2024-06-09 16:11:24 +02:00
Ansariel 0ecfbc3de9 Merge remote-tracking branch 'LGPL/master'
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llappearance/llwearable.cpp
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llmessage/tests/llmockhttpclient.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.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/llgroupactions.cpp
#	indra/newview/llimpanel.cpp
#	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/llpaneleditwearable.cpp
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	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/llviewermenu.cpp
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
2024-05-16 14:10:55 +02:00
Ansariel 5f1a19af72 Merge remote-tracking branch 'LL/marchcat/x-ws-merge'
# Conflicts:
#	autobuild.xml
#	indra/linux_crash_logger/llcrashloggerlinux.cpp
#	indra/newview/llappviewerlinux_api.h
#	indra/newview/llappviewerlinux_api_dbus.cpp
#	indra/newview/llappviewerlinux_api_dbus.h
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llcallbacklist.cpp
#	indra/newview/llimpanel.h
2024-05-01 12:30:57 +02:00
Ansariel b71c7f37ea Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/llagent.cpp
#	indra/newview/llagent.h
#	indra/newview/llagentcamera.cpp
#	indra/newview/llagentcamera.h
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewerlinux_api_dbus.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llattachmentsmgr.cpp
#	indra/newview/llattachmentsmgr.h
#	indra/newview/llavataractions.cpp
#	indra/newview/llcallingcard.cpp
#	indra/newview/llcompilequeue.cpp
#	indra/newview/llcontrolavatar.h
#	indra/newview/lldirpicker.cpp
#	indra/newview/lldrawpoolalpha.cpp
#	indra/newview/lldrawpoolalpha.h
#	indra/newview/lldrawpoolavatar.h
#	indra/newview/lldynamictexture.cpp
#	indra/newview/llfasttimerview.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfilepicker.cpp
#	indra/newview/llfloateravatarpicker.cpp
#	indra/newview/llfloaterbeacons.cpp
#	indra/newview/llfloaterbvhpreview.cpp
#	indra/newview/llfloatercamera.cpp
#	indra/newview/llfloaterchangeitemthumbnail.cpp
#	indra/newview/llfloaterdisplayname.cpp
#	indra/newview/llfloatergotoline.cpp
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterland.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
#	indra/newview/llfloaterscriptdebug.cpp
#	indra/newview/llfloatersettingsdebug.cpp
#	indra/newview/llfloatersnapshot.cpp
#	indra/newview/llfloatertools.cpp
#	indra/newview/llfloatertools.h
#	indra/newview/llfloateruipreview.cpp
#	indra/newview/llfloaterworldmap.cpp
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgiveinventory.cpp
#	indra/newview/llglsandbox.cpp
#	indra/newview/llgroupactions.cpp
#	indra/newview/llhudeffectlookat.cpp
#	indra/newview/llhudeffectlookat.h
#	indra/newview/llhudicon.cpp
#	indra/newview/llhudmanager.cpp
#	indra/newview/llhudtext.cpp
#	indra/newview/llhudtext.h
#	indra/newview/llimprocessing.cpp
#	indra/newview/llimview.cpp
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventorymodel.cpp
#	indra/newview/llinventorymodel.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/lllocalbitmaps.cpp
#	indra/newview/lllogininstance.cpp
#	indra/newview/llmaniptranslate.cpp
#	indra/newview/llmodelpreview.cpp
#	indra/newview/llmodelpreview.h
#	indra/newview/llmutelist.cpp
#	indra/newview/llnavigationbar.cpp
#	indra/newview/llnavigationbar.h
#	indra/newview/llnetmap.cpp
#	indra/newview/llnetmap.h
#	indra/newview/llnotificationlistitem.cpp
#	indra/newview/lloutputmonitorctrl.cpp
#	indra/newview/llpanelcontents.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelexperiencepicker.cpp
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelgroup.cpp
#	indra/newview/llpanelgroupnotices.cpp
#	indra/newview/llpanelgrouproles.cpp
#	indra/newview/llpanellandaudio.cpp
#	indra/newview/llpanellandmarks.cpp
#	indra/newview/llpanelmaininventory.cpp
#	indra/newview/llpanelobject.cpp
#	indra/newview/llpanelobject.h
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llpanelpermissions.cpp
#	indra/newview/llpanelplaces.cpp
#	indra/newview/llpanelpresetspulldown.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelsnapshot.h
#	indra/newview/llpanelvolume.cpp
#	indra/newview/llpanelwearing.cpp
#	indra/newview/llpreviewanim.cpp
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llpreviewnotecard.cpp
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llpreviewtexture.cpp
#	indra/newview/llpreviewtexture.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/llsidepaneliteminfo.cpp
#	indra/newview/llsidepaneltaskinfo.cpp
#	indra/newview/llsnapshotlivepreview.cpp
#	indra/newview/llstartup.cpp
#	indra/newview/llstatusbar.cpp
#	indra/newview/llsurface.h
#	indra/newview/llsurfacepatch.cpp
#	indra/newview/lltexturecache.h
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/lltoastimpanel.cpp
#	indra/newview/lltoolbarview.cpp
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/lltoolface.cpp
#	indra/newview/lltoolfocus.cpp
#	indra/newview/lltoolgrab.cpp
#	indra/newview/lltoolgun.cpp
#	indra/newview/lltoolgun.h
#	indra/newview/lltoolpie.cpp
#	indra/newview/lltoolplacer.cpp
#	indra/newview/lltoolselect.cpp
#	indra/newview/lluploaddialog.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llvieweraudio.cpp
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewerfoldertype.cpp
#	indra/newview/llviewerinput.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewermenu.h
#	indra/newview/llviewermenufile.cpp
#	indra/newview/llviewermessage.cpp
#	indra/newview/llviewerobject.cpp
#	indra/newview/llviewerobject.h
#	indra/newview/llviewerobjectlist.cpp
#	indra/newview/llviewerobjectlist.h
#	indra/newview/llviewerparcelmgr.cpp
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewerregion.cpp
#	indra/newview/llviewerregion.h
#	indra/newview/llviewershadermgr.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexlayer.h
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewertexture.h
#	indra/newview/llviewertexturelist.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llviewerwindow.h
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatar.h
#	indra/newview/llvoavatarself.cpp
#	indra/newview/llvoavatarself.h
#	indra/newview/llvoiceclient.h
#	indra/newview/llvosky.cpp
#	indra/newview/llvosurfacepatch.cpp
#	indra/newview/llvotree.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/llvovolume.h
#	indra/newview/llvowater.cpp
#	indra/newview/llworld.cpp
#	indra/newview/llworldmapview.cpp
#	indra/newview/llworldmipmap.cpp
#	indra/newview/pipeline.cpp
2024-02-22 11:43:04 +01:00
Zi Ree 88d6791ff1 Linux: Quench gcc warnings in boost includes. 2023-03-26 15:49:22 +02:00
Ansariel 018e260ce6 Clean this up for our yoinking friends... 2023-01-28 13:12:26 +01:00
Zi Ree 820799e193 FIRE-31718 - truncate preprocessed lsl script text in case of an error to prevent the viewer from stalling while trying to fit a massive blob of text into the script editor 2022-06-22 03:20:54 +02:00
Ansariel 6b6b116fd4 Merge branch 'master' of https://bitbucket.org/lindenlab/viewer 2021-03-03 00:20:02 +01:00
Beq 876d61e535 FIRE-17710 - patch from Sei Lisa - fix switch()
* Fixes a bug in switch() with no default clause
* Adds a warning regarding changed behaviour
2020-05-20 23:20:23 +01:00
Kadah_Coba cc463a7c62 FIRE-22866: Add __UNIXTIME__ preprocessor macro, patch from WolfGang Senizen 2018-08-04 17:32:04 -07:00
Ansariel cb4f732781 FIRE-22179: Make sure to continue LSL preprocessing in case of cpp-lexer warnings 2018-01-22 10:34:02 +01:00
Ansariel c166f3fe15 FIRE-20278: Fix crash in LSL preprocessor lazy lists by Sei Lisa 2016-10-27 21:25:59 +02:00
Ansariel 212b4df630 FIRE-10616: Make "Preprocessed" text window of LSL preprocessor not editable and fix a bunch of usability issues on the road:
* Show line and column on "Preprocessed" tab
* Properly disable unvailable (context) menu items and buttons in the button bar
* Perform actions of (context) menu items and button bar buttons on the active tab (if action is available) instead of always on the possibly hidden editor tab
* Search/Replace and Goto Line floaters work on the active tab instead of always on the possibly hidden editor tab
2016-08-31 11:30:15 +02:00
Kadah_Coba b9e0662cb5 FIRE-19420: Fixed preproc on bulk script recompile. Does not address BUG-18278
Fixed inconsistent EOLs
2016-06-05 16:25:32 -07:00
Nicky 951e0085e3 Merge. 2016-02-07 00:28:11 +01:00
Kadah_Coba 8520d4676a FIRE-17774: Expose Boost exceptions to preproc output 2016-02-05 21:40:55 -08:00
Kadah_Coba 1f52508d75 FIRE-17764: Add timestamps to preprocessor compile info 2016-02-04 21:02:54 -08:00
Nicky 2244f752c0 Bring back compilequeue changes and update them to the new AsserUploader code. 2015-11-04 14:19:47 +01:00
Nicky b4f4d78eda Merge. 2015-11-04 10:36:39 +01:00
Ansariel 10ea19427f FIRE-16637: LSL pre-processor fix for lazy lists by Sei Lisa 2015-10-27 18:36:32 +01:00
Nicky c218e524b2 Merge - Step 1; Still enough to do. 2015-10-26 20:20:13 +01:00
Ansariel d300a88bcc Fix preprocessor memory leak and make string introduced in previous two commits localizable 2015-10-21 09:12:29 +02:00
Kadah_Coba a399a4aba0 FIRE-16492: Added preproc support to recompile all scripts functions 2015-10-20 22:42:11 -07:00
Ansariel 488d009483 FIRE-16732: Script fails to compile: Exception caught trying to match the regular expressions; fix bei Sei Lisa 2015-08-31 09:44:47 +02:00
Ansariel bcb8e6db37 Backed out changeset: e45855f7e443 - forgot credit 2015-08-31 09:44:13 +02:00
Ansariel 50f0b725ae FIRE-16732: Script fails to compile: Exception caught trying to match the regular expressions 2015-08-31 09:42:00 +02:00
Ansariel 3d2e684f9b FIRE-16637: LSL preprocessor fails to optimize switch statements; patch by Sei Lisa 2015-08-15 19:22:14 +02:00
kadah.coba@gmail.com a68e1c7179 Pulled a fix from FIRE-10173 for bug with recompile button not always working 2015-06-09 23:10:17 -07:00
Ansariel 84fbd0558c FIRE-16034: Some symbols confuse the optimizer; patch by Sei Lisa 2015-05-06 10:29:10 +02:00
Ansariel e6680806cd More fixing in FSLSLProprocessor for "not-supported" case 2015-04-29 11:45:04 +02:00
Ansariel 218985e3e0 Cleaning up FSLSLPreprocessor 2015-04-29 11:12:42 +02:00
Ansariel 760be77eb5 Fix method signatures in FSLSLProprocessor for "not-supported" case 2015-04-28 20:40:43 +02:00
Ricky Curtice 97b1492c67 Enabled translation of the messages returned by the preprocessor code.
I made no judgement on the verbosity of the code, though it seems very noisy to me, and simply took all the strings, touched them up, and moved them out.

I initially tried to place the strings in a file more specific to the script editor, but the translation system could never find them.  So I gave up and placed them in the global string definition file.
2015-04-27 21:20:49 -07:00
Ricky Curtice 023be744cf Correctly named the logging operations. 2015-04-27 00:04:48 -07:00
Ricky Curtice 494a0252aa FIRE-9337: Added ability to disable the FS Preprocessor on a per-script basis.
Initially I tried to use a "#pragma"-esque marker, but LSL chokes on the hash. So I moved to the simple hack of using a special-form comment.

I also started out by trying to detect the marker in the first non-whitespace line.  After some thought I realized that this might conflict with some people's editors or other things they like to add to their scripts.
To correct for this I had two options - go through all the effort of skipping commented blocks, or just simply scan the entire script for that character sequence.  I chose the latter because it is far simpler to code, even though it is more open to abuse.  The abuse, that of putting the tag in arbitrary locations in the script, can be mitigated by having the documentation state that the marker is to be located at the beginning of the script on its own line.

Because of the added scope restrictions that came about because I wrapped a block of code in an 'if' statement, I would up making the treatment of the "err" variable more consistent.  Instead of some places using the function-scoped variable and some using deeper-placed name overrides the code now just creates said variable whereever needed.
2015-04-26 23:41:55 -07:00
Nicky 2f2b586094 Exception safe memory handling, also the old version did alloc with new[] and used plain delete for deallocation. 2015-04-24 00:46:16 +02:00
Ansariel b0651f907d FIRE-15748: Follow-up fix for LSL preprocessor by Sei Lisa 2015-03-24 20:12:16 +01:00
Ansariel 455ab804eb FIRE-15748: Follow-up fix for LSL preprocessor not optimizing out unreferenced functions if files are included; fix by Sei Lisa 2015-03-23 01:18:05 +01:00
Ansariel 2a7b1ab96f FIRE-15748: Follow-up fix for LSL preprocessor not optimizing out unreferenced functions if files are included; fix by Sei Lisa 2015-03-22 20:20:02 +01:00
Ansariel bc1bb101cf FIRE-15748: LSL preprocessor not optimizing out unreferenced functions if files are included; fix by Sei Lisa 2015-03-21 12:48:11 +01:00
Sei Lisa 5481fcf1a4 Tweak the predefined type cast macros to allow commas. Report the correct line in the preprocessor errors. 2015-03-17 16:54:53 +01:00
Ansariel ffbefc2749 FIRE-10172: Fix LSL script editor error handling - by Sei Lisa; with slight modifications to meet our coding guidelines and let the comment textbox scroll to the end automatically 2015-03-17 13:47:50 +01:00
Ansariel e875c7e6ef Encapsulate LSL proprocessor error output in display_error() if we already have it 2015-03-13 09:39:16 +01:00
Ansariel 7b85669cec FIRE-10517: Fix for LSL preprocessor failing to properly handle nested switch statements; fix by Sei Lisa 2015-03-13 09:06:02 +01:00
Ansariel 9ec6e34ee1 FIRE-12046: Fix lsl preprocessor problems parsing double-quoted text while handling lazy lists; fix by Sei Lisa 2015-03-12 19:20:57 +01:00
Ansariel fdb2bae18e FIRE-15693: Preprocessor doesn't optimize out functions or variables if they appear in strings; patch by Sei Lisa 2015-03-11 09:27:54 +01:00
Ansariel a09e87b8cf FIRE-8149, FIRE-9155, FIRE-10595, FIRE-15320 and FIRE-10016: Fix various issues with the LSL preprocessor; fix provided by Sei Lisa 2015-03-11 00:30:23 +01:00
Ansariel 9b33512e3a More simplifications to FSLSLPreprocessor 2015-03-09 12:03:31 +01:00
Ansariel 7deeedf4d3 A few BOOL -> bool conversions in FSLSLPreprocessor 2015-03-09 11:41:35 +01:00