summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp
index cf9c042599..8e81b380d5 100644
--- a/Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp
+++ b/Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp
@@ -724,12 +724,11 @@ void AccelerometerMappingIndicator::paintEvent(QPaintEvent*)
p.setRenderHint(QPainter::SmoothPixmapTransform, true);
const auto angle = std::acos(state.Normalized().Dot({0, 0, 1}));
- const auto axis = state.Normalized().Cross({0, 0, 1}).Normalized();
+ const auto axis = state.Normalized().Cross({0, 0, 1});
- // Odd checks to handle case of 0g (draw no sphere) and perfect up/down orientation.
- const auto rotation = (!state.LengthSquared() || axis.LengthSquared() < 2) ?
- Common::Matrix33::Rotate(angle, axis) :
- Common::Matrix33::Identity();
+ // Check that axis is non-zero to handle perfect up/down orientations.
+ const auto rotation = Common::Matrix33::Rotate(
+ angle, axis.LengthSquared() ? axis.Normalized() : Common::Vec3{0, 1, 0});
// Draw sphere.
p.setPen(Qt::NoPen);