Mercurial > hg > orthanc-stone
diff Applications/Samples/Sdl/RtViewer/RtViewerSdl.cpp @ 1573:32e0c007789d
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 21 Sep 2020 18:28:34 +0200 |
parents | 6e0da8370270 |
children | 92fca2b3ba3d |
line wrap: on
line diff
--- a/Applications/Samples/Sdl/RtViewer/RtViewerSdl.cpp Mon Sep 21 18:13:52 2020 +0200 +++ b/Applications/Samples/Sdl/RtViewer/RtViewerSdl.cpp Mon Sep 21 18:28:34 2020 +0200 @@ -208,7 +208,7 @@ { std::unique_ptr<IViewport::ILock> lock(viewport_->Lock()); ViewportController& controller = lock->GetController(); - Scene2D& scene = controller.GetScene(); + const Scene2D& scene = controller.GetScene(); std::string ttf; Orthanc::EmbeddedResources::GetFileResource(ttf, Orthanc::EmbeddedResources::UBUNTU_FONT); @@ -269,28 +269,33 @@ { std::vector<SDL_Event> sdlEvents; std::map<Uint32,SDL_Event> userEventsMap; - SDL_Event sdlEvent; - // FIRST: collect all pending events - while (SDL_PollEvent(&sdlEvent) != 0) { - if ( (sdlEvent.type >= SDL_USEREVENT) && - (sdlEvent.type < SDL_LASTEVENT) ) + SDL_Event sdlEvent; + + // FIRST: collect all pending events + while (SDL_PollEvent(&sdlEvent) != 0) { - // we don't want to have multiple refresh events , - // and since every refresh event is a user event with a special type, - // we use a map - userEventsMap[sdlEvent.type] = sdlEvent; - } - else - { - sdlEvents.push_back(sdlEvent); + if ( (sdlEvent.type >= SDL_USEREVENT) && + (sdlEvent.type < SDL_LASTEVENT) ) + { + // we don't want to have multiple refresh events , + // and since every refresh event is a user event with a special type, + // we use a map + userEventsMap[sdlEvent.type] = sdlEvent; + } + else + { + sdlEvents.push_back(sdlEvent); + } } } // SECOND: add all user events to sdlEvents for (std::map<Uint32,SDL_Event>::const_iterator it = userEventsMap.begin(); it != userEventsMap.end(); ++it) + { sdlEvents.push_back(it->second); + } // now process the events for (std::vector<SDL_Event>::const_iterator it = sdlEvents.begin(); it != sdlEvents.end(); ++it)