diff options
Diffstat (limited to 'src/touchscreengui.cpp')
-rw-r--r-- | src/touchscreengui.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/touchscreengui.cpp b/src/touchscreengui.cpp index f51b2d5fa..8d210c63a 100644 --- a/src/touchscreengui.cpp +++ b/src/touchscreengui.cpp @@ -177,8 +177,10 @@ void AutoHideButtonBar::init(ISimpleTextureSource* tsrc, AutoHideButtonBar::~AutoHideButtonBar() { - m_starter.guibutton->setVisible(false); - m_starter.guibutton->drop(); + if (m_starter.guibutton) { + m_starter.guibutton->setVisible(false); + m_starter.guibutton->drop(); + } } void AutoHideButtonBar::addButton(touch_gui_button_id button_id, @@ -414,7 +416,7 @@ void AutoHideButtonBar::show() TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver): m_device(device), m_guienv(device->getGUIEnvironment()), - m_camera_yaw(0.0), + m_camera_yaw_change(0.0), m_camera_pitch(0.0), m_visible(false), m_move_id(-1), @@ -835,17 +837,11 @@ void TouchScreenGUI::translateEvent(const SEvent &event) /* adapt to similar behaviour as pc screen */ double d = g_settings->getFloat("mouse_sensitivity") *4; - double old_yaw = m_camera_yaw; + double old_yaw = m_camera_yaw_change; double old_pitch = m_camera_pitch; - m_camera_yaw -= dx * d; - m_camera_pitch = MYMIN(MYMAX( m_camera_pitch + (dy * d),-180),180); - - while (m_camera_yaw < 0) - m_camera_yaw += 360; - - while (m_camera_yaw > 360) - m_camera_yaw -= 360; + m_camera_yaw_change -= dx * d; + m_camera_pitch = MYMIN(MYMAX(m_camera_pitch + (dy * d), -180), 180); // update shootline m_shootline = m_device |