diff --git a/CHANGES b/CHANGES index 03559412f..607db9e44 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,7 @@ Other fixes: - Qt: Only dynamically reset video scale if a game is running - Qt: Fix race condition with proxied video events - Qt: Force OpenGL paint engine creation thread (fixes mgba.io/i/1642) + - Qt: Fix color selection in asset view (fixes mgba.io/i/1648) 0.8.0: (2020-01-21) Features: diff --git a/src/platform/qt/AssetTile.cpp b/src/platform/qt/AssetTile.cpp index 23ff4ff56..cda468757 100644 --- a/src/platform/qt/AssetTile.cpp +++ b/src/platform/qt/AssetTile.cpp @@ -137,9 +137,9 @@ void AssetTile::selectColor(int index) { m_ui.color->setColor(0, color); m_ui.color->update(); - uint32_t r = M_R8(color); - uint32_t g = M_G8(color); - uint32_t b = M_B8(color); + uint32_t r = ((color & 0xF8) * 0x21) >> 5; + uint32_t g = (((color >> 8) & 0xF8) * 0x21) >> 5; + uint32_t b = (((color >> 16) & 0xF8) * 0x21) >> 5; m_ui.r->setText(tr("0x%0 (%1)").arg(r, 2, 16, QChar('0')).arg(r, 2, 10, QChar('0'))); m_ui.g->setText(tr("0x%0 (%1)").arg(g, 2, 16, QChar('0')).arg(g, 2, 10, QChar('0'))); m_ui.b->setText(tr("0x%0 (%1)").arg(b, 2, 16, QChar('0')).arg(b, 2, 10, QChar('0')));