Merge branch 'coverity-qa-extra'

This commit is contained in:
Gregory Hainaut 2015-09-25 18:42:20 +02:00
commit 421043ed12
56 changed files with 217 additions and 97 deletions

View File

@ -29,16 +29,28 @@ void pxTrap();
// exception. Use this macro to dispose of these dangerous exceptions, and generate a
// friendly error log in their wake.
//
// Note: Console can also fire an Exception::OutOfMemory
#define __DESTRUCTOR_CATCHALL( funcname ) \
catch( BaseException& ex ) \
{ \
try { \
Console.Error( "Unhandled BaseException in %s (ignored!):", funcname ); \
Console.Error( ex.FormatDiagnosticMessage() ); \
} catch (...) { \
fprintf(stderr, "ERROR: (out of memory?)\n"); \
} \
} \
catch( std::exception& ex ) \
{ \
try { \
Console.Error( "Unhandled std::exception in %s (ignored!):", funcname ); \
Console.Error( ex.what() ); \
} catch (...) { \
fprintf(stderr, "ERROR: (out of memory?)\n"); \
} \
} \
catch(...) { \
/* Unreachable code */ \
}
#define DESTRUCTOR_CATCHALL __DESTRUCTOR_CATCHALL( __pxFUNCTION__ )

View File

@ -109,7 +109,7 @@ protected:
bool m_handled;
public:
SrcType_PageFault() {}
SrcType_PageFault() : m_handled(false) {}
virtual ~SrcType_PageFault() throw() { }
bool WasHandled() const { return m_handled; }

View File

@ -145,7 +145,6 @@ class FastFormatAscii
protected:
ScopedAlignedAlloc<char,16>* m_dest;
bool m_deleteDest;
uint m_Length;
public:
FastFormatAscii();
@ -155,7 +154,6 @@ public:
void Clear();
bool IsEmpty() const;
uint Length() const { return m_Length; }
const char* c_str() const { return m_dest->GetPtr(); }
operator const char*() const { return m_dest->GetPtr(); }

View File

@ -159,7 +159,7 @@ public:
ConsoleColors DefaultColor;
protected:
ConsoleLogSource() {}
ConsoleLogSource() : DefaultColor(Color_Gray) {}
public:
ConsoleLog_ImplementBaseAPI(ConsoleLogSource)

View File

@ -558,7 +558,10 @@ ConsoleIndentScope::ConsoleIndentScope( int tabs )
ConsoleIndentScope::~ConsoleIndentScope() throw()
{
try {
LeaveScope();
}
DESTRUCTOR_CATCHALL
}
void ConsoleIndentScope::EnterScope()
@ -581,8 +584,11 @@ ConsoleAttrScope::ConsoleAttrScope( ConsoleColors newcolor, int indent )
ConsoleAttrScope::~ConsoleAttrScope() throw()
{
try {
Console.SetColor( m_old_color );
Console.SetIndent( -m_tabsize );
}
DESTRUCTOR_CATCHALL
}

View File

@ -261,10 +261,13 @@ FastFormatUnicode::FastFormatUnicode()
FastFormatUnicode::~FastFormatUnicode() throw()
{
try {
if (m_deleteDest)
delete m_dest;
else
m_buffer_tls.Get()->ReleaseBuffer();
}
DESTRUCTOR_CATCHALL
}
void FastFormatUnicode::Clear()
@ -396,10 +399,13 @@ FastFormatAscii::FastFormatAscii()
FastFormatAscii::~FastFormatAscii() throw()
{
try {
if (m_deleteDest)
delete m_dest;
else
m_buffer_tls.Get()->ReleaseBuffer();
}
DESTRUCTOR_CATCHALL
}
void FastFormatAscii::Clear()

View File

@ -342,7 +342,7 @@ void BaseVmReserveListener::OnPageFaultEvent(const PageFaultInfo& info, bool& ha
// --------------------------------------------------------------------------------------
SpatialArrayReserve::SpatialArrayReserve( const wxString& name ) :
_parent( name )
_parent( name ), m_numblocks(0)
{
m_prot_mode = PageAccess_ReadWrite();
}

View File

@ -23,7 +23,12 @@
pxStaticText::pxStaticText( wxWindow* parent )
: _parent( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER )
{
m_align = wxALIGN_CENTRE_HORIZONTAL;
m_autowrap = true;
m_wrappedWidth = -1;
m_heightInLines = 1;
SetPaddingDefaults();
}
pxStaticText::pxStaticText( wxWindow* parent, const wxString& label, wxAlignment align )

View File

@ -25,7 +25,7 @@
class AsyncFileReader
{
protected:
AsyncFileReader() : m_dataoffset(0) {}
AsyncFileReader() : m_dataoffset(0), m_blocksize(0) {}
wxString m_filename;

View File

@ -45,7 +45,12 @@ bool BlockdumpFileReader::DetectBlockdump(AsyncFileReader* reader)
return isbd;
}
BlockdumpFileReader::BlockdumpFileReader(void)
BlockdumpFileReader::BlockdumpFileReader(void) :
m_file(NULL),
m_blocks(0),
m_blockofs(0),
m_dtablesize(0),
m_lresult(0)
{
}

View File

@ -43,11 +43,13 @@ bool CsoFileReader::CanHandle(const wxString& fileName) {
if (wxFileName::FileExists(fileName) && fileName.Lower().EndsWith(L".cso")) {
FILE* fp = PX_fopen_rb(fileName);
CsoHeader hdr;
if (fp && fread(&hdr, 1, sizeof(hdr), fp) == sizeof(hdr)) {
if (fp) {
if (fread(&hdr, 1, sizeof(hdr), fp) == sizeof(hdr)) {
supported = ValidateHeader(hdr);
}
fclose(fp);
}
}
return supported;
}

View File

@ -37,8 +37,12 @@ class CsoFileReader : public AsyncFileReader
DeclareNoncopyableObject(CsoFileReader);
public:
CsoFileReader(void) :
m_frameSize(0),
m_frameShift(0),
m_indexShift(0),
m_readBuffer(0),
m_zlibBuffer(0),
m_zlibBufferFrame(0),
m_index(0),
m_totalSize(0),
m_src(0),

View File

@ -178,6 +178,7 @@ static wxString iso2indexname(const wxString& isoname) {
}
GzippedFileReader::GzippedFileReader(void) :
mBytesRead(0),
m_pIndex(0),
m_zstates(0),
m_src(0),

View File

@ -105,6 +105,7 @@ IsoDirectory::IsoDirectory(SectorSource& r)
IsoDirectory::IsoDirectory(SectorSource& r, IsoFileDescriptor directoryEntry)
: internalReader(r)
{
m_fstype = FStype_ISO9660;
Init(directoryEntry);
}

View File

@ -45,7 +45,14 @@ u32 __fastcall standardizeBreakpointAddress(u32 addr)
return addr;
}
MemCheck::MemCheck()
MemCheck::MemCheck() :
start(0),
end(0),
cond(MEMCHECK_READWRITE),
result(MEMCHECK_BOTH),
lastPC(0),
lastAddr(0),
lastSize(0)
{
numHits = 0;
}

View File

@ -43,7 +43,8 @@ struct BreakPointCond
struct BreakPoint
{
BreakPoint() : hasCond(false) {}
BreakPoint() : addr(0), enabled(false), temporary(false), hasCond(false)
{}
u32 addr;
bool enabled;

View File

@ -90,7 +90,10 @@ void SysMtgsThread::OnStart()
SysMtgsThread::~SysMtgsThread() throw()
{
try {
_parent::Cancel();
}
DESTRUCTOR_CATCHALL
}
void SysMtgsThread::OnResumeReady()

View File

@ -64,7 +64,10 @@ VU_Thread::VU_Thread(BaseVUmicroCPU*& _vuCPU, VURegs& _vuRegs) :
VU_Thread::~VU_Thread() throw()
{
try {
pxThread::Cancel();
}
DESTRUCTOR_CATCHALL
}
void VU_Thread::Reset()

View File

@ -322,8 +322,11 @@ CpuInitializer< CpuType >::CpuInitializer()
template< typename CpuType >
CpuInitializer< CpuType >::~CpuInitializer() throw()
{
try {
if (MyCpu)
MyCpu->Shutdown();
}
DESTRUCTOR_CATCHALL
}
// --------------------------------------------------------------------------------------
@ -366,7 +369,10 @@ SysMainMemory::SysMainMemory()
SysMainMemory::~SysMainMemory() throw()
{
try {
ReleaseAll();
}
DESTRUCTOR_CATCHALL
}
void SysMainMemory::ReserveAll()

View File

@ -55,7 +55,10 @@ SysCoreThread::SysCoreThread()
SysCoreThread::~SysCoreThread() throw()
{
try {
SysCoreThread::Cancel();
}
DESTRUCTOR_CATCHALL
}
void SysCoreThread::Cancel( bool isBlocking )

View File

@ -61,13 +61,17 @@ public:
BaseCpuProvider()
{
m_Reserved = 0;
IsInterpreter = false;
}
virtual ~BaseCpuProvider() throw()
{
try {
if( m_Reserved != 0 )
Console.Warning( "Cleanup miscount detected on CPU provider. Count=%d", m_Reserved );
}
DESTRUCTOR_CATCHALL
}
virtual const char* GetShortName() const=0;
virtual wxString GetLongName() const=0;

View File

@ -198,6 +198,8 @@ public:
protected:
BaseCompressThread()
{
m_gzfp = NULL;
m_src_list = NULL;
m_PendingSaveFlag = false;
}

View File

@ -24,12 +24,15 @@
BaseCompressThread::~BaseCompressThread() throw()
{
try {
_parent::Cancel();
if( m_PendingSaveFlag )
{
wxGetApp().ClearPendingSave();
m_PendingSaveFlag = false;
}
}
DESTRUCTOR_CATCHALL
}
void BaseCompressThread::SetPendingSave()

View File

@ -219,9 +219,11 @@ struct AppImageIds
ToolbarIds()
{
Settings = Play =
PluginVideo =
PluginAudio =
Settings = -1;
Play = -1;
Resume = -1;
PluginVideo = -1;
PluginAudio = -1;
PluginPad = -1;
}
} Toolbars;
@ -262,8 +264,6 @@ protected:
int m_fpsqueue_writepos;
uint m_initpause;
uint m_FrameCounter;
public:
FramerateManager() { Reset(); }
virtual ~FramerateManager() throw() {}

View File

@ -89,7 +89,10 @@ AppCoreThread::AppCoreThread() : SysCoreThread()
AppCoreThread::~AppCoreThread() throw()
{
try {
_parent::Cancel(); // use parent's, skips thread affinity check.
}
DESTRUCTOR_CATCHALL
}
static void _Cancel()
@ -734,8 +737,11 @@ ScopedCoreThreadClose::ScopedCoreThreadClose()
ScopedCoreThreadClose::~ScopedCoreThreadClose() throw()
{
if( m_alreadyScoped ) return;
try {
_parent::DoResume();
ScopedCore_IsFullyClosed = false;
}
DESTRUCTOR_CATCHALL
}
ScopedCoreThreadPause::ScopedCoreThreadPause( BaseSysExecEvent_ScopedCore* abuse_me )
@ -761,8 +767,11 @@ ScopedCoreThreadPause::ScopedCoreThreadPause( BaseSysExecEvent_ScopedCore* abuse
ScopedCoreThreadPause::~ScopedCoreThreadPause() throw()
{
if( m_alreadyScoped ) return;
try {
_parent::DoResume();
ScopedCore_IsPaused = false;
}
DESTRUCTOR_CATCHALL
}
ScopedCoreThreadPopup::ScopedCoreThreadPopup()

View File

@ -48,8 +48,11 @@ protected:
public:
AppGameDatabase() {}
virtual ~AppGameDatabase() throw() {
try {
Console.WriteLn( "(GameDB) Unloading..." );
}
DESTRUCTOR_CATCHALL
}
AppGameDatabase& LoadFromFile(const wxString& file = Path::Combine( PathDefs::GetProgramDataDir(), wxFileName(L"GameIndex.dbf") ), const wxString& key = L"Serial" );
void SaveToFile(const wxString& file = Path::Combine( PathDefs::GetProgramDataDir(), wxFileName(L"GameIndex.dbf")) );

View File

@ -374,8 +374,11 @@ public:
virtual ~GameDatabaseLoaderThread() throw()
{
try {
_parent::Cancel();
}
DESTRUCTOR_CATCHALL
}
protected:
void ExecuteTaskInThread()
@ -697,10 +700,13 @@ Pcsx2App::Pcsx2App()
m_PendingSaves = 0;
m_ScheduledTermination = false;
m_UseGUI = true;
m_NoGuiExitPrompt = true;
m_id_MainFrame = wxID_ANY;
m_id_GsFrame = wxID_ANY;
m_id_ProgramLogBox = wxID_ANY;
m_id_Disassembler = wxID_ANY;
m_ptr_ProgramLog = NULL;
SetAppName( L"PCSX2" );

View File

@ -519,8 +519,6 @@ void FramerateManager::Resume()
void FramerateManager::DoFrame()
{
++m_FrameCounter;
m_fpsqueue_writepos = (m_fpsqueue_writepos + 1) % FramerateQueueDepth;
m_fpsqueue[m_fpsqueue_writepos] = GetCPUTicks();
@ -1092,6 +1090,7 @@ public:
SysExecEvent_Execute()
: m_UseCDVDsrc(false)
, m_UseELFOverride(false)
, m_cdvdsrc_type(CDVDsrc_Iso)
{
}

View File

@ -163,7 +163,10 @@ ConsoleLogFrame::ColorArray::ColorArray( int fontsize )
ConsoleLogFrame::ColorArray::~ColorArray() throw()
{
try {
Cleanup();
}
DESTRUCTOR_CATCHALL
}
void ConsoleLogFrame::ColorArray::Create( int fontsize )

View File

@ -165,7 +165,7 @@ protected:
ConsoleColors color;
int startpoint;
ColorSection() {}
ColorSection() : color(Color_Default), startpoint(0) {}
ColorSection( ConsoleColors _color, int msgptr ) : color(_color), startpoint(msgptr) { }
};

View File

@ -47,6 +47,7 @@ CtrlRegisterList::CtrlRegisterList(wxWindow* parent, DebugInterface* _cpu)
charWidth = g_Conf->EmuOptions.Debugger.FontWidth;
category = 0;
maxBits = 128;
lastPc = 0xFFFFFFFF;
for (int i = 0; i < cpu->getRegisterCategoryCount(); i++)
{

View File

@ -102,7 +102,6 @@ private:
CpuTabPage* currentCpu;
wxBoxSizer* topSizer;
wxStatusBar* statusBar;
wxButton* breakRunButton;
wxButton* stepIntoButton;
wxButton* stepOverButton;

View File

@ -544,12 +544,15 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title)
MainEmuFrame::~MainEmuFrame() throw()
{
try {
if( m_RestartEmuOnDelete )
{
sApp.SetExitOnFrameDelete( false );
sApp.PostAppMethod( &Pcsx2App::DetectCpuAndUserMode );
sApp.WipeUserModeSettings();
}
}
DESTRUCTOR_CATCHALL
}
void MainEmuFrame::DoGiveHelp(const wxString& text, bool show)

View File

@ -561,8 +561,11 @@ namespace Panels
public:
virtual ~EnumThread() throw()
{
try {
pxThread::Cancel();
}
DESTRUCTOR_CATCHALL
}
EnumThread( PluginSelectorPanel& master );
void DoNextPlugin( int evtidx );

View File

@ -208,6 +208,7 @@ namespace vtlb_private
MapData()
{
vmap = NULL;
ppmap = NULL;
}
};

View File

@ -194,7 +194,7 @@ static int _GSopen(void** dsp, char* title, int renderer, int threads = -1)
threads = theApp.GetConfig("extrathreads", 0);
}
GSWnd* wnd[2];
GSWnd* wnd[2] = { NULL, NULL };
try
{
@ -315,7 +315,6 @@ static int _GSopen(void** dsp, char* title, int renderer, int threads = -1)
wnd[1] = new GSWndOGL();
#else
wnd[0] = new GSWndOGL();
wnd[1] = NULL;
#endif
#endif
}

View File

@ -35,6 +35,7 @@ GSDevice::GSDevice()
, m_fxaa(NULL)
, m_shadeboost(NULL)
, m_1x1(NULL)
, m_current(NULL)
, m_frame(0)
{
memset(&m_vertex, 0, sizeof(m_vertex));

View File

@ -46,11 +46,15 @@ int GSDeviceOGL::s_n = 0;
FILE* GSDeviceOGL::m_debug_gl_file = NULL;
GSDeviceOGL::GSDeviceOGL()
: m_free_window(false)
: m_msaa(0)
, m_window(NULL)
, m_fbo(0)
, m_fbo_read(0)
, m_va(NULL)
, m_apitrace(0)
, m_palette_ss(0)
, m_vs_cb(NULL)
, m_ps_cb(NULL)
, m_shader(NULL)
{
memset(&m_merge_obj, 0, sizeof(m_merge_obj));
@ -59,6 +63,8 @@ GSDeviceOGL::GSDeviceOGL()
memset(&m_fxaa, 0, sizeof(m_fxaa));
memset(&m_shaderfx, 0, sizeof(m_shaderfx));
memset(&m_date, 0, sizeof(m_date));
memset(&m_shadeboost, 0, sizeof(m_shadeboost));
memset(&m_om_dss, 0, sizeof(m_om_dss));
GLState::Clear();
// Reset the debug file

View File

@ -390,7 +390,6 @@ class GSDeviceOGL : public GSDevice
static bool m_debug_gl_call;
static FILE* m_debug_gl_file;
bool m_free_window;
GSWnd* m_window;
GLuint m_fbo; // frame buffer container
@ -446,7 +445,6 @@ class GSDeviceOGL : public GSDevice
GLuint m_apitrace;
GLuint m_palette_ss;
GLuint m_rt_ss;
GSUniformBufferOGL* m_vs_cb;
GSUniformBufferOGL* m_ps_cb;

View File

@ -25,6 +25,7 @@
GSDump::GSDump()
: m_gs(NULL)
, m_frames(0)
, m_extra_frames(0)
{
}

View File

@ -130,6 +130,11 @@ GSDumpLzma::~GSDumpLzma() {
/******************************************************************/
GSDumpRaw::GSDumpRaw(char* filename) : GSDumpFile(filename) {
m_buff_size = 0;
m_area = NULL;
m_inbuf = NULL;
m_avail = 0;
m_start = 0;
}
GSDumpRaw::~GSDumpRaw() {

View File

@ -48,7 +48,6 @@ class GSDumpLzma : public GSDumpFile {
size_t m_avail;
size_t m_start;
bool m_eof;
void Decompress();
@ -70,7 +69,6 @@ class GSDumpRaw : public GSDumpFile {
size_t m_avail;
size_t m_start;
bool m_eof;
void Decompress();

View File

@ -29,6 +29,8 @@ GSRenderer::GSRenderer()
: m_shader(0)
, m_shift_key(false)
, m_control_key(false)
, m_framelimit(false)
, m_texture_shuffle(false)
, m_wnd(NULL)
, m_dev(NULL)
{

View File

@ -30,7 +30,6 @@ class GSRenderer : public GSState
{
GSCapture m_capture;
string m_snapshot;
bool m_snapdump;
int m_shader;
bool Merge(int field);

View File

@ -49,21 +49,21 @@ GSRendererHW::GSRendererHW(GSTextureCache* tc)
void GSRendererHW::SetScaling()
{
m_buffer_size = max(m_context->FRAME.FBW * 64, m_regs->DISP[m_regs->PMODE.EN1 == 1 ? 0 : 1].DISPFB.FBW * 64);
int buffer_size = max(m_context->FRAME.FBW * 64, m_regs->DISP[m_regs->PMODE.EN1 == 1 ? 0 : 1].DISPFB.FBW * 64);
//Only increase the buffer size, don't make it smaller, it breaks games (GH3)
// Also don't change the size for custom resolution (m_upscale_multiplier = 0).
if (m_upscale_multiplier && m_width < (m_buffer_size * m_upscale_multiplier)) {
if (m_upscale_multiplier && m_width < (buffer_size * m_upscale_multiplier)) {
m_tc->RemovePartial();
} else {
return;
}
m_height = m_buffer_size < 1024 ? 512 : 1024;
m_height = buffer_size < 1024 ? 512 : 1024;
if (m_upscale_multiplier > 1) {
m_width = m_buffer_size * m_upscale_multiplier;
m_width = buffer_size * m_upscale_multiplier;
m_height *= m_upscale_multiplier;
}

View File

@ -35,7 +35,6 @@ private:
int m_skip;
bool m_reset;
int m_upscale_multiplier;
int m_buffer_size;
int m_userhacks_skipdraw;
bool m_userhacks_align_sprite_X;

View File

@ -35,6 +35,8 @@ GSRendererOGL::GSRendererOGL()
UserHacks_TCO_x = (UserHacks_TCOffset & 0xFFFF) / -1000.0f;
UserHacks_TCO_y = ((UserHacks_TCOffset >> 16) & 0xFFFF) / -1000.0f;
m_prim_overlap = PRIM_OVERLAP_UNKNOW;
if (!theApp.GetConfig("UserHacks", 0)) {
UserHacks_TCOffset = 0;
UserHacks_TCO_x = 0;

View File

@ -1534,6 +1534,8 @@ GSRendererSW::SharedData::SharedData(GSRendererSW* parent)
: m_parent(parent)
, m_fb_pages(NULL)
, m_zb_pages(NULL)
, m_fpsm(0)
, m_zpsm(0)
, m_using_pages(false)
, m_syncpoint(SyncNone)
{

View File

@ -24,6 +24,7 @@
#include "GLState.h"
GSShaderOGL::GSShaderOGL(bool debug) :
m_pipeline(0),
m_debug_shader(debug)
{
m_single_prog.clear();

View File

@ -4143,7 +4143,7 @@ bool GSC_ShadowofRome(const GSFrameInfo& fi, int& skip)
{
skip = 1;
}
else if(fi.TME && (fi.FBP >=0x0) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 ==0x0160 ||fi.TBP0==0x01e0 || fi.TBP0<=0x0800) && fi.TPSM == PSM_PSMT8)
else if(fi.TME && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 ==0x0160 ||fi.TBP0==0x01e0 || fi.TBP0<=0x0800) && fi.TPSM == PSM_PSMT8)
{
skip = 1;
}
@ -5113,7 +5113,7 @@ bool GSC_AlpineRacer3(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(!fi.TME && fi.FBP == 0 && fi.TBP0>=0 && (fi.TPSM >= 0 ) && (fi.FBMSK ==0x0001 ||fi.FBMSK == 0x00FFFFFF))
if(!fi.TME && fi.FBP == 0 && (fi.FBMSK ==0x0001 ||fi.FBMSK == 0x00FFFFFF))
{
skip = 2;
}
@ -5179,7 +5179,7 @@ bool GSC_TalesofSymphonia(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TME && (fi.FBP >= 0) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x2bc0 || fi.TBP0 <= 0x0200) && (fi.FBMSK==0xFF000000 ||fi.FBMSK==0x00FFFFFF))
if(fi.TME && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x2bc0 || fi.TBP0 <= 0x0200) && (fi.FBMSK==0xFF000000 ||fi.FBMSK==0x00FFFFFF))
{
skip = 1; //fi.FBMSK==0
}

View File

@ -26,7 +26,11 @@ GSTexture::GSTexture()
: m_scale(1, 1)
, m_size(0, 0)
, m_type(0)
, m_format(0)
, m_msaa(false)
, last_frame_used(0)
, LikelyOffset(false)
, OffsetHack_modx(0.0f)
, OffsetHack_mody(0.0f)
{
}

View File

@ -1251,6 +1251,7 @@ GSTextureCache::Source::Source(GSRenderer* r, const GIFRegTEX0& TEX0, const GIFR
, m_initpalette(true)
, m_target(false)
, m_complete(false)
, m_spritehack_t(false)
, m_p2t(NULL)
{
m_TEX0 = TEX0;

View File

@ -60,11 +60,11 @@ class GSBufferOGL {
// Warning m_limit is the number of object (not the size in Bytes)
m_limit = 8 * 1024 * 1024 / m_stride;
if (m_buffer_storage) {
for (size_t i = 0; i < 5; i++) {
m_fence[i] = 0;
}
if (m_buffer_storage) {
// TODO: if we do manually the synchronization, I'm not sure size is important. It worths to investigate it.
// => bigger buffer => less sync
bind();
@ -254,7 +254,7 @@ class GSVertexBufferStateOGL {
GLenum m_topology;
public:
GSVertexBufferStateOGL(size_t stride, GSInputLayoutOGL* layout, uint32 layout_nbr) : m_vb(NULL), m_ib(NULL)
GSVertexBufferStateOGL(size_t stride, GSInputLayoutOGL* layout, uint32 layout_nbr) : m_vb(NULL), m_ib(NULL), m_topology(0)
{
gl_GenVertexArrays(1, &m_va);
gl_BindVertexArray(m_va);

View File

@ -29,6 +29,9 @@ const GSVector4 GSVertexTrace::s_minmax(FLT_MAX, -FLT_MAX);
GSVertexTrace::GSVertexTrace(const GSState* state)
: m_state(state)
{
m_primclass = GS_INVALID_CLASS;
memset(&m_alpha, 0, sizeof(m_alpha));
#define InitUpdate3(P, IIP, TME, FST, COLOR) \
m_fmm[COLOR][FST][TME][IIP][P] = &GSVertexTrace::FindMinMax<P, IIP, TME, FST, COLOR>;

View File

@ -24,7 +24,7 @@
#if defined(__linux__)
GSWndOGL::GSWndOGL()
: m_NativeWindow(0), m_NativeDisplay(NULL), m_swapinterval(NULL)
: m_NativeWindow(0), m_NativeDisplay(NULL), m_context(0), m_swapinterval(NULL)
{
}

View File

@ -243,13 +243,13 @@ void GSdxApp::BuildConfigurationMap(const char* lpFileName)
m_configuration_map["inifile"] = inifile_value;
// Load config from file
char value[255];
char key[255];
char value[256];
char key[256];
FILE* f = fopen(lpFileName, "r");
if (f == NULL) return; // FIXME print a nice message
while( fscanf(f, "%s = %s\n", key, value) != EOF ) {
while( fscanf(f, "%255s = %255s\n", key, value) != EOF ) {
std::string key_s(key);
std::string value_s(value);
m_configuration_map[key_s] = value_s;