Skip to content

Commit

Permalink
pcsx2|utilities: Remove ambiguous wxString-related overloads
Browse files Browse the repository at this point in the history
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
  • Loading branch information
turtleli committed Oct 7, 2019
1 parent aee571e commit c87b8c7
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 39 deletions.
4 changes: 0 additions & 4 deletions common/include/Utilities/Assertions.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,11 +185,7 @@ extern pxDoAssertFnType *pxDoAssert;
#define IndexBoundsAssumeDev(objname, idx, sze) pxAssumeDev((uint)(idx) < (uint)(sze), \
pxsFmt(L"Array index out of bounds accessing object '%s' (index=%d, size=%d)", objname, (idx), (sze)))


extern void pxOnAssert(const DiagnosticOrigin &origin, const wxChar *msg = NULL);
extern void pxOnAssert(const DiagnosticOrigin &origin, const char *msg);
extern void pxOnAssert(const DiagnosticOrigin &origin, const wxString &msg);
extern void pxOnAssert(const DiagnosticOrigin &origin, const FastFormatUnicode &msg);

// --------------------------------------------------------------------------------------
// jNO_DEFAULT -- disables the default case in a switch, which improves switch optimization
Expand Down
3 changes: 1 addition & 2 deletions common/include/Utilities/wxGuiTools.h
Original file line number Diff line number Diff line change
Expand Up @@ -680,8 +680,7 @@ class pxWindowTextWriter
wxPoint m_curpos;
int m_leading;

virtual void _DoWriteLn(const wxChar *msg);
void _DoWriteLn(const wxString msg);
virtual void _DoWriteLn(const wxString &msg);
void _DoWrite(const wxChar *msg);

public:
Expand Down
21 changes: 3 additions & 18 deletions common/src/Utilities/Exceptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ bool pxAssertImpl_LogIt(const DiagnosticOrigin &origin, const wxChar *msg)
}


DEVASSERT_INLINE void pxOnAssert(const DiagnosticOrigin &origin, const wxChar *msg)
DEVASSERT_INLINE void pxOnAssert(const DiagnosticOrigin &origin, const wxString &msg)
{
// Recursion guard: Allow at least one recursive call. This is useful because sometimes
// we get meaningless assertions while unwinding stack traces after exceptions have occurred.
Expand All @@ -114,31 +114,16 @@ DEVASSERT_INLINE void pxOnAssert(const DiagnosticOrigin &origin, const wxChar *m

if (pxDoAssert == NULL) {
// Note: Format uses MSVC's syntax for output window hotlinking.
trapit = pxAssertImpl_LogIt(origin, msg);
trapit = pxAssertImpl_LogIt(origin, msg.wc_str());
} else {
trapit = pxDoAssert(origin, msg);
trapit = pxDoAssert(origin, msg.wc_str());
}

if (trapit) {
pxTrap();
}
}

__fi void pxOnAssert(const DiagnosticOrigin &origin, const char *msg)
{
pxOnAssert(origin, fromUTF8(msg));
}

__fi void pxOnAssert(const DiagnosticOrigin &origin, const wxString &msg)
{
pxOnAssert(origin, msg.wc_str());
}

__fi void pxOnAssert(const DiagnosticOrigin &origin, const FastFormatUnicode &msg)
{
pxOnAssert(origin, msg.c_str());
}

// --------------------------------------------------------------------------------------
// BaseException (implementations)
// --------------------------------------------------------------------------------------
Expand Down
9 changes: 1 addition & 8 deletions common/src/Utilities/pxWindowTextWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,8 @@ pxWindowTextWriter &pxWindowTextWriter::MoveY(int ydelta)
return *this;
}

void pxWindowTextWriter::_DoWriteLn(const wxChar *msg)
void pxWindowTextWriter::_DoWriteLn(const wxString &msg)
{
pxAssert(msg);

int tWidth, tHeight;
m_dc.GetMultiLineTextExtent(msg, &tWidth, &tHeight);

Expand All @@ -103,11 +101,6 @@ void pxWindowTextWriter::_DoWriteLn(const wxChar *msg)
m_curpos.y += tHeight + m_leading;
}

void pxWindowTextWriter::_DoWriteLn(const wxString msg)
{
_DoWriteLn(msg.wc_str());
}

// Splits incoming multi-line strings into pieces, and dispatches each line individually
// to the text writer.
void pxWindowTextWriter::_DoWrite(const wxChar *msg)
Expand Down
8 changes: 1 addition & 7 deletions pcsx2/DebugTools/Debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ class ConsoleLogFromVM : public BaseTraceLogSource

ConsoleLogFromVM( const TraceLogDescriptor* desc ) : _parent( desc ) {}

bool Write( const wxChar* msg ) const
bool Write( const wxString &msg ) const
{
ConsoleColorScope cs(conColor);
Console.WriteRaw( msg );
Expand All @@ -239,12 +239,6 @@ class ConsoleLogFromVM : public BaseTraceLogSource

return false;
}

bool Write( const wxString msg ) const
{
return Write(msg.wc_str());
}

};

// --------------------------------------------------------------------------------------
Expand Down

0 comments on commit c87b8c7

Please sign in to comment.