Commit Graph

68 Commits (8a13530ce4eeb481ee467fd3ec54f1ed7e9f632a)

Author SHA1 Message Date
Nat Goodspeed ae0b3149ba DRTVWR-418: Fix a round of compile errors surfaced by -std=c++11.
These are mostly things that were in fact erroneous, but accepted by older
compilers.

This changeset has not yet been built with Visual Studio 2013 or Linux gcc,
even with -std=c++11.

This changeset has not been built *without* -std=c++11. It should be used in
conjunction with a corresponding change to LL_BUILD_DARWIN_BASE_SWITCHES in
viewer-build-variables/variables.

This is a work in progress. We do not assert that this changeset completes the
work needed to turn on -std=c++11, even on the Mac.
2017-02-23 16:49:49 -05:00
Nat Goodspeed 555259e50f DRTVWR-418: Avoid casting sa_sigaction to unsigned int for comparing.
It's not really clear to me why the original coder felt it necessary to cast
the two sigaction::sa_sigaction fields to unsigned int in the first place, but
in a 64-bit clang compile, that discards information.
2016-12-19 22:51:40 -05:00
Nat Goodspeed 464a0df4c1 DRTVWR-418: Unify control flow through LLAppViewer across platforms.
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This
makes sense -- but on Mac that structure was being subverted. The method
called mainLoop() was in fact being called once per frame. There was
initialization code in the method, which (on Mac) needed to be skipped with an
already-initialized bool. There was a 'while' loop which (on Mac) needed to be
turned into an 'if' instead so the method would return after every frame.

Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer
and LLCrashLogger. Document the fact that frame() returns true to mean "done."
(This was always the case, but had to be inferred from the code.)

Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free
function it calls from runMainLoop() to pumpMainLoop(). Add comments to
llappdelegate-objc.mm explaining (inferred) control flow.

Change the Linux viewer main() and the Windows viewer WINMAIN() from a single
LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true.

Move initialization code from the top of LLAppViewer::frame() to the init()
method, where it more properly belongs. Remove corresponding
mMainLoopInitialized flag (and all references) from LLAppViewer.

Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())')
from LLAppViewer::frame() -- thus unindenting the whole body of the 'while'
and causing many lines of apparent change. (Apologies to reviewers.)

There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING,
APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return
value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know
under what circumstances the state might transition to STOPPED during a
frame() call, but I'm quite sure that if it does, we don't want to call
frame() again. We only want a subsequent call if the state is RUNNING.

Also rename mainLoop() method in LLCrashLogger subclasses
LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's
completely up to the frame() method whether to yield control; none of those in
fact do. Honor protocol by returning true (frame() is done), even though each
one's main() caller ignores the return value.

In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol
correctly anyway, returning wParam or 0 or 1 -- possibly because the return
protocol was never explicitly documented. It should always return true: "I'm
done, don't call me again."
2016-06-30 16:51:50 -04:00
Oz Linden ed38b5c923 merge changes for MAINT-5974 2016-04-08 11:32:48 -04:00
Glenn Glazer aca314de1f maint-5974/maint-5422: viewer changes for new crash reporting 2016-02-25 10:34:18 -08:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Glenn Glazer b09f0a120e maint-5422 changes and merge from release 2015-09-16 14:21:03 -07:00
pavelk_productengine e92e72ff3a MAINT-5106 FIXED [MAC] if SL viewer is not running, clicking on SLURL launches viewer, BUT start location is not set 2015-04-24 23:24:44 +03:00
callum_linden 327a99a8a8 Update to build on Xcode 6.0: more removal of unused variables and functions 2014-10-18 11:25:07 -07:00
Richard Linden 98aabdc176 merge with release 2014-04-07 19:09:40 -07:00
Aura Linden 6809348125 Creating a cleaner branch 2013-12-03 17:06:06 -08:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Graham Madarasz (Graham Linden) 4bc9393240 MAINT-3155 add cocoa equiv for former AppleEventManager shenanigans for SLURL handling 2013-09-26 18:53:12 -07:00
Richard Linden 52da9f5f49 merge with viewer-release 2013-09-09 18:58:41 -07:00
Oz Linden a359d9d80c merge changes for 3.6.4-release 2013-08-27 10:37:02 -04:00
Richard Linden d83c51a4e1 BUILDFIX: converted platform-specific files over to new LL_INFOS, etc macros 2013-08-14 21:58:30 -07:00
Nat Goodspeed b0d7619f20 CHOP-957: Stop looking for, or parsing, Mac arguments.txt file. 2013-06-25 17:33:36 -04:00
Geenz 3779e51bfc Merged with https://bitbucket.org/lindenlab/viewer-beta 2013-05-13 22:22:51 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Geenz f3ef69ec19 Updated the crash handler to produce a CFURL which gets converted into a FSRef due to the Files.h deprecation. 2013-02-04 18:27:47 -05:00
Geenz bf1e9124f1 Restore the old Carbon crash handler, and more deprecated API removal. 2013-02-02 12:49:39 -05:00
Geenz f39532c407 Merged with latest viewer-dev. 2013-01-24 16:36:31 -05:00
Geenz 29e747c4f1 And thus, the demonic mouse position conversions from view space to screen space were tamed. 2013-01-22 15:37:01 -05:00
Geenz 09b07e3619 Big change set:
- LLAppDelegate header relocated to LLWindow.  Definition is still present in secondlife-bin (for compatibility reasons when loading a nib).
- Return key handling fixed.
- Command key now acts the same as the control key by issuing control character codes when the command key is pressed.
- We now retrieve the window pointer directly from the app delegate in LLWindow.
2013-01-08 16:22:54 -05:00
Geenz ddb48d51d9 More things in this commit:
- Removed the callback system in favor of simply defining functions in a header to later be implemented in whichever file is most convenient for what we want to do (i.e., calling LLWindow callbacks within LLWindowMacOSX, setting cursors in llwindowmacosx-objc.mm, etc.)
- Viewer shutdown now works appropriately
- Added a bit of debugging code to test if a key has been handled by the UI or not (useful for tracking down the mystery of the enter key not being handled)
- Setup a cocoa quit handler within the application delegate that intercepts any termination requests
2013-01-01 11:32:53 -05:00
Geenz bd152c1fb7 Huge amount of refactoring to use Cocoa here:
- Updated to .xib format.  To produce a new nib (which is required after changing the xib file), use "ibtool SecondLife.xib --compile SecondLife.nib" within the newview directory.
- xib file now defines the viewer's window.  VIews are still being pragmatically added to the main window.  This may change in the future.
- LLAppViewer's main loop has been slightly refactored to be executed on a timer for OS X.  This probably needs a bit more work.
- Event handling still needs more work to work within a timer based event loop.  It works fairly sporadically at the moment, as if events are being dropped between timer executions, at least for the mouse.
- Carbon has been purged from the viewer's startup, and from LLWindow entirely.  There's likely still a few odds and ends fragmented throughout the viewer and its dependencies.  Need to track these down.
- LLAppViewerMacOSX now uses NSApplicationMain, and also implements the NSApplicationDelegate protocol in LLAppDelegate.
- Fullscreen support has been implemented for OS X 10.7+
This is still a work in progress, however at this stage everything needed for a functional viewer is (mostly) complete.  From here, it's mostly just bug hunting and fixing.
2012-12-29 06:59:43 -05:00
Dave Parks 267c01d4c8 MAINT-570 Fix for linux build. 2012-07-30 12:20:16 -05:00
Richard Linden d597efc0f3 fix for mac/linux? 2011-03-28 15:35:48 -07:00
Richard Linden f2892c9882 fix for linux and mac 2011-03-28 11:48:43 -07:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Lynx Linden 05761d7853 Removed the SyncErrorHandler from llapp and llappviewer*.
This was only used for the Linux client to dump a stack trace to
stack_trace.log, which is no longer needed now that we are using
Google Breakpad.

I also removed all of the stack printing code from llappviewerlinux.cpp.
2010-05-27 15:04:06 +01:00
Andrew A. de Laix 5a52c5eb8a Mac crash behavior matches windows and linux: report on crash (not after restart). This is OK because we use Breakpad generated minidumps instead of OS generated ones. 2010-05-25 13:32:12 -07:00
Roxie Linden a11ec0c89f Automated merge 2010-05-04 16:09:14 -07:00
Aimee Linden 4f38dd2682 DEV-49390 (SNOW-573): Deprecated methods for getting and setting the system audio mute on Mac
AudioHardwareGetProperty(), AudioDeviceGetProperty() and AudioDeviceSetProperty() were deprecated in the 10.5 SDK, replaced using AudioObjectGetPropertyData() and AudioObjectSetPropertyData().
2010-04-25 12:42:10 +01:00
Aimee Linden f758852266 DEV-42251 (SNOW-570 / SNOW-220 / VWR-14711): WaitNextEvent() is deprecated in the OS X 10.6 SDK
Imported from Snowglobe.
Use RunApplicationEventLoop() instead of WaitNextEvent() while the viewer is waiting for the crash logger to exit.
2010-04-25 00:41:41 +01:00
Roxie Linden 658ccc3e85 Re-insert backed out SLE checkin so we can fix it 2010-04-07 11:08:04 -07:00
Tofu Linden 0bb3f144c0 Backed out changeset 63b699f90efd 2010-04-07 10:37:07 +01:00
Roxie Linden 20379fecd9 automated merge 2010-03-08 21:39:38 -08:00
Palmer dd663449b6 Only comments added to crash reporting code on handling old crash logs on mac. No code changed :) 2010-03-05 13:07:32 -08:00
Monroe Linden 6c92a724a1 Implemented LLAppViewerMacOSX::setMasterSystemAudioMute() and LLAppViewerMacOSX::getMasterSystemAudioMute() using CoreAudio APIs.
This required adding a reference to the CoreAudio framework in indra/newview/CMakeLists.txt
2010-01-27 16:48:09 -08:00
Rick Pasetto d3f361752e Plumb getting and setting the system audio mute through appviewer
Next step is to actually implement the OS-specific calls to do so.
Until then, behavior is the same; the status bar will mute/unmute
the "master" audio for the viewer *only*
2010-01-27 14:00:02 -08:00
Roxie Linden 9b05fecbf6 automated merge from trunk 2010-02-25 18:24:07 -08:00
Adam Moss 406927f629 Merge a big bunch of fixes from maint-viewer. Hooray.
svn merge -r136066:136073 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-viewer/maint-viewer-24-qa-9

DEV-8553 New Server Tools - Prep Land For Sale
DEV-32942 (QAR-1521) Bad border crossings or TP / Ruthing issues
DEV-32942 (QAR-1521) Bad border crossings or TP / Ruthing issues
DEV-33239 VWR-13816: Resizing the Search Window Causes the Results to Refresh back to First Page
DEV-27746 Running a dev build of Second Life will make console window show up on non-dev builds (Windows)
DEV-33209 Linux 1.24.0.120778 client fails to run
DEV-29123 SVC-3871: Crash of viewer when clicking on ghost objects at (0,0,0) on a sim
DEV-35433 Attempting to upload wrong file type crashes viewer
DEV-33499 viewer2009 is not using KDU
DEV-33912 Griefing viewer crashes others' viewers with malformed sound files
DEV-3784 VWR-138: Animation Priority not working correctly, Can't create new AOs
DEV-20678 VWR-9069: Region variable says 'Region Name' in AR if no object is selected
DEV-19934 Help->About Second Life doesn't differentiate between 32- and 64-bit Vista
DEV-6604 Restored folders have 'Purge Item' and 'Restore Item' options
DEV-12867 VWR-5717: Selected Text is not replaced by Input text when Japanese IME is on
DEV-11894 Notecards/Texture windows don't open completely when opened from inventory
DEV-10641 VWR-4955: Local Chat doesn't show end of last conversation
DEV-30039 VWR-12620: Viewer build fails on Linux when compiled with -O2 (--type=Release)
DEV-20944 VWR-9065: (intermittent) Right Click >profile on avatar does not display profile
DEV-24828 Menu accelerator prefixes shouldn't be hard-coded
DEV-34529 VWR-14267: Clicking send in an IM window does not add the sent text to the line editor history
DEV-34124 Invite to group, search by name will not show resident if their first name is two characters
DEV-20930 VWR-9248: On Mac: the "--url" option causes a command line parsing error
DEV-35306 Adult keyword filter triggers multiple warnings
DEV-35503 VWR-3595: "Second Life requires True Color (32-bit) to run in a window" message is incorrect
DEV-35656 VWR-12995: FTBFS: error: format '%-3d' expects type 'int', but argument 3 has type 'size_t'
DEV-30043 VWR-12533: Linux viewer build for OpenAL fails during packaging unless FMOD library is available
DEV-31898 VWR-13202: Right clicking mouse triggers arrow key control events
DEV-32610 Keyboard shortcuts on OSX viewer overridden by OSX
DEV-27067 Coverity Prevent: EVALUATION_ORDER defects
DEV-26188 VWR-2242: Specially formatted .BVH file can cause avatar distortion
DEV-25475 About Land dialog no longer shows Area: field
DEV-19897 OSX Viewer Installer (for an RC) opens with poor positioning
DEV-22837 Inventory> Search Recent Items highlighting incorrect characters
DEV-21709 VWR-9377: Mapping will default to leave exact sim name listing first. (Searching Gar forces Gar to come up and not Garden of Dreams)
DEV-23079 implement volume serial for linux client
DEV-13930 VWR-6432: Space Navigator operation with vehicles is broken
DEV-27666 VWR-10829: Linux Viewer: CLICK_ACTION_PAY shows CLICK_ACTION_PLAY icon
DEV-23670 Viewer crashes on startup if installed into a custom folder with Korean, Japanese or Chinese characters in path
DEV-19313 VWR-8454: PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS not highlighted in script editor
DEV-19918 VWR-8885: Move character/*.xml files to source bundle
DEV-25555 VWR-11172: A source coding mistake prevents number-pad keys from specifying Ctrl+digit shortcuts on Windows
DEV-8536 VWR-4057: Multi-line chat display bug - first character in line missing
DEV-29592 Mac LLFastTimer uses wall clock instead of Intel PMU
DEV-29644 VWR-12587: Cmake install target has a hard coded secondlife-bin reference remaining
DEV-25320 VWR-11128: Python not always detected by develop.py
DEV-30040 VWR-12617: Poor type name that violates Coding Standard breaks compatibility with system header files
DEV-30380 indra/newview/res-sdl/toolpay.BMP is modified during ./develop.py configure
DEV-31247 VWR-12763: non-portable printf specifier used with size_t causes FTBFS on 64bit (due to -Werror)
DEV-29565 VWR-12569: A comment in lluistring.h contains undefined UTF-8 code sequences
DEV-22100 VWR-9620: send_parcel_select_objects in newview/llfloaterland.cpp uses the wrong datatype for the ReturnType field causing a warning
DEV-31911 Selected objects / primitives should be greyed out when nothing is selected
DEV-3667 Windows: Accelerator keys should be "Ctrl+X" rather than "Ctrl-X"
DEV-27223 disable gstreamer on 64-bit linux
DEV-8172 We Need a Linden Sale Option to Sell Land to Anyone
DEV-25511 VWR-10311: Enable LipSync by default
DEV-20443 Revamp group creation confirmation dialog to be more communicative
DEV-20132 VWR-7800: Joystick / SpaceNavigator. Camera should remain in position when exiting flycam mode into avatar mode.
DEV-18420 VWR-8393: Have build scripts copy fmod from an external location
DEV-24841 VWR-10717: Right Space Navigator button should toggle fly in avatar movment, not jump/flyup.
DEV-28457 change auto-populate value in buy L$ window from 1000 to 2000
DEV-15545 VWR-3725: Please add resize option to the SEARCH window UI
2009-10-14 10:40:56 +00:00
Monroe Williams 745845f799 svn merge -r 129841:129910 svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/pluginapi_05-merge@129910
svn merge -r 129913:131718 svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05

Some branch shenannigans in the pluginapi_05 branch caused this to become a two-part merge.
2009-08-27 19:00:18 +00:00
Roxanne Skelly 7a64aad1de DEV-34822 - merge 1.23
merge -r119443 - basic slurl handling
ignore dead branch
2009-07-09 20:56:23 +00:00
Steven Bennetts 9ec432034d merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3
ignore-dead-branch
2009-06-21 08:04:56 +00:00
Adam Moss 9dfe0ca9a0 svn merge -r121194:121210
svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-1.23.onetwo-merge-1

QAR-1531 viewer 1.23rc1+1.23rc2 merge to trunk
2009-05-22 09:58:47 +00:00
Adam Moss b01c75cb42 svn merge -r117314:117337
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/mv13a-merge-1

QAR-1343 maint-viewer-13a+libcurlexploitfix-3-3 combo merge
2009-04-16 23:45:35 +00:00
Mark Palange 446c55538e svn merge -r106055-107012 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer_1-22/
merge RC5 changes into trunk, plus add'l localization xml (all newly added) files that should have been added with RC0-RC4 merge, but weren't.
2009-01-13 03:46:56 +00:00
Aaron Brashears e3cf284388 Result of svn merge -r107256:107258 svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 2009-01-08 00:05:06 +00:00