diff --git a/src/modules/graphics/Color.h b/src/modules/graphics/Color.h index 1019e0cd5..2c6522134 100644 --- a/src/modules/graphics/Color.h +++ b/src/modules/graphics/Color.h @@ -44,11 +44,26 @@ struct ColorT a = a_; } + bool operator==(const ColorT &other) const; + bool operator!=(const ColorT &other) const; + ColorT operator+=(const ColorT &other); ColorT operator*=(T s); ColorT operator/=(T s); }; +template +bool ColorT::operator==(const ColorT &other) const +{ + return r == other.r && g == other.g && b == other.b && a == other.a; +} + +template +bool ColorT::operator!=(const ColorT &other) const +{ + return !(operator==(other)); +} + template ColorT ColorT::operator+=(const ColorT &other) { diff --git a/src/modules/graphics/opengl/Graphics.cpp b/src/modules/graphics/opengl/Graphics.cpp index 0b830c78e..c3d423a80 100644 --- a/src/modules/graphics/opengl/Graphics.cpp +++ b/src/modules/graphics/opengl/Graphics.cpp @@ -131,11 +131,10 @@ void Graphics::restoreStateChecked(const DisplayState &s) { const DisplayState &cur = states.back(); - if (*(uint32 *) &s.color.r != *(uint32 *) &cur.color.r) + if (s.color != cur.color) setColor(s.color); - if (*(uint32 *) &s.backgroundColor.r != *(uint32 *) &cur.backgroundColor.r) - setBackgroundColor(s.backgroundColor); + setBackgroundColor(s.backgroundColor); if (s.blendMode != cur.blendMode || s.blendMultiplyAlpha != cur.blendMultiplyAlpha) setBlendMode(s.blendMode, s.blendMultiplyAlpha); diff --git a/src/modules/joystick/sdl/Joystick.h b/src/modules/joystick/sdl/Joystick.h index c4b2084ff..7999d2f83 100644 --- a/src/modules/joystick/sdl/Joystick.h +++ b/src/modules/joystick/sdl/Joystick.h @@ -106,18 +106,12 @@ private: struct Vibration { - float left, right; - SDL_HapticEffect effect; - Uint16 data[4]; - int id; - - Uint32 endtime; - - Vibration() - : left(0.0f), right(0.0f) - , effect(), data(), id(-1) - , endtime(SDL_HAPTIC_INFINITY) - {} + float left = 0.0f; + float right = 0.0f; + SDL_HapticEffect effect = {}; + Uint16 data[4] = {0}; + int id = -1; + Uint32 endtime = SDL_HAPTIC_INFINITY; } vibration;