Files
@ r28403:d4cdcb69255f
Branch filter:
Location: cpp/openttd-patchpack/source/src/video/sdl_v.h - annotation
r28403:d4cdcb69255f
1.7 KiB
text/x-c
Fix: race-condition when quitting the game with libcurl (#11688)
There could be a callback in _new_http_callbacks that is not
processed yet. All callbacks in _http_callbacks were cancelled,
but not the ones in _new_http_callbacks
There could be a callback in _new_http_callbacks that is not
processed yet. All callbacks in _http_callbacks were cancelled,
but not the ones in _new_http_callbacks
r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r9111:983de9c5a848 r9111:983de9c5a848 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7170:38b143754b40 r7170:38b143754b40 r17629:21e9dfd343cd r21028:e5db3f83cafa r7170:38b143754b40 r24218:c32caa9f014d r7170:38b143754b40 r23497:a0ab44ebd2fa r7170:38b143754b40 r23497:a0ab44ebd2fa r5475:3f5cd13d1b63 r23497:a0ab44ebd2fa r7170:38b143754b40 r23497:a0ab44ebd2fa r7170:38b143754b40 r23497:a0ab44ebd2fa r18160:133e96e28508 r23497:a0ab44ebd2fa r18160:133e96e28508 r23497:a0ab44ebd2fa r18395:22ade7a0b9e1 r23497:a0ab44ebd2fa r24849:01243a72f255 r24849:01243a72f255 r24849:01243a72f255 r24851:a41e925d9dc7 r24939:f00f6879a003 r24939:f00f6879a003 r24849:01243a72f255 r20035:c4fe85f9251a r20035:c4fe85f9251a r20308:7cc954e96245 r7170:38b143754b40 r7170:38b143754b40 r17629:21e9dfd343cd r21027:e87e97e6befd r7170:38b143754b40 r21027:e87e97e6befd r23497:a0ab44ebd2fa r7170:38b143754b40 r5475:3f5cd13d1b63 r5988:7f6f0097eeb1 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file sdl_v.h Base of the SDL video driver. */
#ifndef VIDEO_SDL_H
#define VIDEO_SDL_H
#include "video_driver.hpp"
/** The SDL video driver. */
class VideoDriver_SDL : public VideoDriver {
public:
const char *Start(const StringList ¶m) override;
void Stop() override;
void MakeDirty(int left, int top, int width, int height) override;
void MainLoop() override;
bool ChangeResolution(int w, int h) override;
bool ToggleFullscreen(bool fullscreen) override;
bool AfterBlitterChange() override;
bool ClaimMousePointer() override;
const char *GetName() const override { return "sdl"; }
protected:
void InputLoop() override;
void Paint() override;
void CheckPaletteAnim() override;
bool PollEvent() override;
private:
bool CreateMainSurface(uint w, uint h);
void SetupKeyboard();
};
/** Factory for the SDL video driver. */
class FVideoDriver_SDL : public DriverFactoryBase {
public:
FVideoDriver_SDL() : DriverFactoryBase(Driver::DT_VIDEO, 5, "sdl", "SDL Video Driver") {}
Driver *CreateInstance() const override { return new VideoDriver_SDL(); }
};
#endif /* VIDEO_SDL_H */
|