'Displays specified message on button and flashes button red to let user know there was an error. If you want the error to be displayed until the user takes an action, set limitedTime to False. Then call self.reset() after the desired action. Threadsafe.'

def failure(self, message=None, tip='', limitedTime=True):

    isGuiThread = (QtCore.QThread.currentThread() == QtCore.QCoreApplication.instance().thread())
    if isGuiThread:
        self.setEnabled(True)
        self.startBlink('#F00', message, tip, limitedTime=limitedTime)
    else:
        self.sigCallFailure.emit(message, tip, limitedTime)
