Commit graph

1448 commits

Author SHA1 Message Date
Brad Hefta-Gaub
81bb5ff07d when using the fullscreen mirror hot key, return to the view mode you were in when leaving full screen mirror 2016-04-07 13:13:19 -07:00
Brad Hefta-Gaub
47aed9c8bd fix redraw issue when logging in to or out of a domain 2016-04-06 14:56:20 -07:00
Anthony J. Thibault
07ff687bfe Application: change keyboard input focus when using ui overlay.
call focusOutEvent on keyboard input plugin when an offscreen ui has activeFocus.
2016-04-05 18:12:02 -07:00
Thijs Wenker
142f37da1c fix accidentally violated style rule 3.1.2.1 2016-04-04 17:33:47 +02:00
Thijs Wenker
b2058376ba used "ReSharper C++" to fix some style and spelling in Application.(h|cpp) 2016-04-04 17:03:05 +02:00
Seth Alves
5fa9f662fc Merge pull request #7542 from birarda/refresh-on-asset-connect
refresh/close the asset browser dialog on domain switch
2016-04-01 18:08:59 -07:00
Stephen Birarda
ee7bee95f8 use nodeActivated to trigger refresh of Asset Browser 2016-04-01 11:35:33 -07:00
Anthony J. Thibault
3d43f73a88 Application: don't call Model::simulate on network thread.
This can cause a crash.

On startup the Application::processOctreeStats method on the network thread will call into entities entity->isReadyToComputeShape() (without a tree lock) and trigger Model::simulate.  Model is NOT thread safe.  This was leading to a single model to be initialized on two threads simultaneously.

This might be somewhat rare, I only caught it because I was running a debug build.
2016-03-31 17:57:20 -07:00
Brad Hefta-Gaub
d99dcf5450 Merge pull request #7487 from hyperlogic/tony/animated-culling
Improved render bounding boxes for animated models
2016-03-30 09:27:43 -07:00
howard-stearns
4ebf816166 cleanup 2016-03-29 16:17:19 -07:00
Anthony J. Thibault
115fd607a0 Address performance issues introduced with this PR.
* Prevent clusterMatrices from being invalidated and re-computed in each updateItem lambda.
  We do this by not setting _model->_needsUpdateClusterMatrices = true;
* Prevent redundant work if Model::enqueueLocationChange is called multiple times per frame.
  We do this by introducing a preRenderLambdas map in the Application class.
  Instead of adding work directly to the scene PendingChanges queue Model::enqueueLocationChange
  adds a lambda to the Application preRenderLambdas map.  The Application ensures that only one lambda will
  be invoked for each model per frame.
2016-03-28 19:47:30 -07:00
Brad Davis
520cccb219 Make display plugin switching atomic from other threads 2016-03-24 15:19:46 -07:00
Brad Hefta-Gaub
2b0670718f Merge pull request #7449 from howard-stearns/report-previous-session-data
Report previous session data
2016-03-23 20:58:51 -07:00
howard-stearns
c435ca212a Report previous session time. 2016-03-23 16:59:17 -07:00
howard-stearns
550738776c Pass whether or not previous session crashed to the UserActivityLogger. 2016-03-23 15:56:29 -07:00
Zach Pomerantz
9c11474dd7 Expose qApp->updateHeartbeat 2016-03-22 17:17:36 -07:00
Anthony J. Thibault
ce47f83288 Prevent deadlock if idle is called during rendering
This extraordinary event can occur if a MessageBox is popped up by the opengl driver.

* removed AvatarData::avatarLock
* removed AvatarUpdate

This code was left over from an earlier avatar threading experiment.

Removed AvatarData avatarLock and AvatarUpdate class
2016-03-21 15:11:15 -07:00
Brad Hefta-Gaub
edcf642410 Merge pull request #7374 from jherico/plugin_switch_crash
Reduce crashes on switching display plugins
2016-03-17 15:51:39 -07:00
Anthony J. Thibault
a8bc8a7843 Application: prevent crash on startup when "Interface Crashed" dialog is shown.
If the application "Interface Crashed" dialog is shown at startup, it can cause Application to receive events before it has been fully constructed.
In this case the QMainWindow _window pointer is uninitialized, causing Menu::getInstance() to de-reference an invalid pointer.

The fix for this is three fold.

1. Construct the QMainWindow before calling setupEssentials (which in turn spawns the "Interface Crashed" dialog).
2. Change Menu::getInstance() from a static_cast to a dynamic_cast.  This will cause it to return a nullptr if [QMainWindow::menuBar()](http://doc.qt.io/qt-4.8/qmainwindow.html#menuBar) returns an instance of QMenuBar and not a ui::Menu instance.
3. In Application::event return false if Menu::getInstance() returns a nullptr.  This should prevent any code that relies on having a valid ui::Menu instance from running.
2016-03-17 12:13:01 -07:00
Bradley Austin Davis
7045680bc7 Reduce crashes on switching display plugins 2016-03-17 10:13:52 -07:00
Atlante45
4a90ec303c Fix drag&drop 2016-03-15 11:22:42 -07:00
Stephen Birarda
72c64532f5 Merge branch 'master' of https://github.com/highfidelity/hifi into atp 2016-03-15 09:12:49 -07:00
Anthony J. Thibault
807d31743c Removed Hand, HandData & PalmData
Instead, we just store two controller::Poses in MyAvatar.
Existing behavior and scripting APIs have been preserved.

The hand controller debug drawing is slightly different, but still works.
2016-03-10 19:33:31 -08:00
Stephen Birarda
57ea51d244 Merge pull request #84 from Atlante45/feat/atp
Replace old drag&drop with new UI
2016-03-09 14:26:49 -08:00
Stephen Birarda
9a2b2b4c16 Merge branch 'master' of https://github.com/highfidelity/hifi into atp 2016-03-09 12:16:46 -08:00
Atlante45
5a0beec1f5 Replace old drag&drop with new UI 2016-03-09 11:47:31 -08:00
Brad Davis
95f5d82d37 Add a watchdog thread to trigger a crash on detecting a deadlock 2016-03-09 00:32:46 -08:00
Atlante45
ded449072f Rename window 2016-03-08 13:13:45 -08:00
Atlante45
784f669998 First draft Assets Manager 2016-03-08 13:13:45 -08:00
Brad Davis
28103cf5ef Migrate composition of the overlay and pointer to the present thread 2016-03-07 17:14:41 -08:00
Stephen Birarda
f44cf3903c re-instate verified domain ownership for full automatic networking
This reverts commit 34408c8144.
2016-03-01 13:04:37 -08:00
Stephen Birarda
b0c11e6562 Merge pull request #7217 from huffman/udt-random-seq
Randomize initial send sequence number in UDT
2016-03-01 12:59:10 -08:00
Atlante45
4944d0a8d0 Handle threading inside AssetServer 2016-03-01 12:00:43 -08:00
Ryan Huffman
cc9c87d281 Fix packet version mismatch not showing for domain packets 2016-03-01 11:36:49 -08:00
Brad Hefta-Gaub
2c3fdc995f Away improvements 2016-02-29 20:23:06 -08:00
Zach Pomerantz
3c53078178 Merge pull request #7194 from ZappoMan/toggleOverlay
add toggleOverlays menu item and action
2016-02-26 10:17:24 -08:00
Anthony J. Thibault
1fdae13de1 Application: don't simulate until we are ready to render. 2016-02-25 17:48:55 -08:00
Brad Hefta-Gaub
b0c286bc3b Merge branch 'master' of https://github.com/highfidelity/hifi into toggleOverlay
Conflicts:
	interface/src/Application.cpp
2016-02-25 16:21:38 -08:00
Clément Brisset
2e7c7eace5 Merge pull request #7179 from birarda/domain-security
verified domain ownership for full automatic networking
2016-02-25 15:24:09 -08:00
Brad Hefta-Gaub
366aa39be8 handle startup overlay visibility correctly 2016-02-25 14:46:08 -08:00
Brad Hefta-Gaub
5828c32041 add toggleOverlays menu item and action 2016-02-25 08:31:11 -08:00
Zach Pomerantz
7ae9752272 Remove Render > Ambient Light menu 2016-02-23 16:24:43 -08:00
Stephen Birarda
42582e5d0f remove old voxel cost model from application 2016-02-23 14:53:35 -08:00
Stephen Birarda
6cab831ea0 re-gen the interface keypair while being denied from domain 2016-02-23 14:52:12 -08:00
Brad Davis
160a107bbd Auto-unhide the desktop when showing or raising a window 2016-02-22 19:36:00 -08:00
Brad Hefta-Gaub
3e6cddede3 CR feedback 2016-02-21 10:03:51 -08:00
Brad Hefta-Gaub
32a7179c62 CR feedback 2016-02-21 09:59:19 -08:00
Brad Hefta-Gaub
1a4591db58 Merge branch 'master' of https://github.com/highfidelity/hifi into hmdHacking 2016-02-21 09:30:41 -08:00
Howard Stearns
13c602e2a3 Remove mumbleUnsynchronizedFPS, which is obsolete now that the update/render rate is not in power-of-two lockstep with present rate, and which had users other than the LOD PID. 2016-02-19 15:12:44 -08:00
Brad Hefta-Gaub
7219a925d2 remove getTrueMouse() 2016-02-19 14:17:28 -08:00