void-packages/srcpkgs/stepmania/patches/messageman.patch
Krul Ceter 8078afbed4 stepmania: fix build with gcc 12, ship ffmpeg 2.1.3 with distfiles
If ffmpeg with specific version is not present in the work source
directory, cmake attempts to clone its repository with git and
check out version 2.1.3. This approach presents two issues:

1. It can no longer be cloned using git:// for github (see
https://github.com/stepmania/stepmania/pull/2200) which results in
connection timeout and build failure as the result.

2. Downloaded tarball is erased after successful build since it is
considered to be part of the source code.
Its retrieval and storage for future use should be done by xbps-src.
2022-12-03 20:03:10 +01:00

36 lines
1.2 KiB
Diff

Upstream: yes
https://github.com/stepmania/stepmania/commit/3f64564dd7c62a2f3d9557c1bdb8475fd953abea
--- a/src/MessageManager.cpp
+++ b/src/MessageManager.cpp
@@ -207,8 +207,7 @@ void MessageManager::Unsubscribe( IMessageSubscriber* pSubscriber, MessageID m )
void MessageManager::Broadcast( Message &msg ) const
{
- // GAMESTATE is created before MESSAGEMAN, and has several BroadcastOnChangePtr members, so they all broadcast when they're initialized.
- if(this != NULL && m_Logging)
+ if(m_Logging)
{
LOG->Trace("MESSAGEMAN:Broadcast: %s", msg.GetName().c_str());
}
--- a/src/StepMania.cpp
+++ b/src/StepMania.cpp
@@ -1041,8 +1041,10 @@ int sm_main(int argc, char* argv[])
// This needs PREFSMAN.
Dialog::Init();
- // Create game objects
+ // Set up the messaging system early to have well defined code.
+ MESSAGEMAN = new MessageManager;
+ // Create game objects
GAMESTATE = new GameState;
// This requires PREFSMAN, for PREFSMAN->m_bShowLoadingWindow.
@@ -1162,7 +1164,6 @@ int sm_main(int argc, char* argv[])
SONGMAN->UpdatePopular();
SONGMAN->UpdatePreferredSort();
NSMAN = new NetworkSyncManager( pLoadingWindow );
- MESSAGEMAN = new MessageManager;
STATSMAN = new StatsManager;
// Initialize which courses are ranking courses here.