fixed segmentation fault issue of xputsn the right way, fixed warnings

This commit is contained in:
Dhanya Maliakal 2017-11-17 09:26:05 +01:00
parent 2569ffbf10
commit d7137e0c75
7 changed files with 28 additions and 28 deletions

View File

@ -65,9 +65,6 @@ qClient::~qClient() {
int qClient::executeLine(int narg, char *args[]){ int qClient::executeLine(int narg, char *args[]){
char arg[MAX_STR_LENGTH] = "";
int iarg = -1;
char answer[100];
string retval = ""; string retval = "";
string cmd = args[0]; string cmd = args[0];
string argument; string argument;

View File

@ -119,11 +119,10 @@ private:
int id; int id;
/** Default Save file path */ /** Default Save file path */
string filePath; string filePath;
/** clone 2D Plot */
SlsQt2DPlotLayout* cloneplot2D;
/** clone 1D Plot */ /** clone 1D Plot */
SlsQt1DPlot* cloneplot1D; SlsQt1DPlot* cloneplot1D;
/** clone 2D Plot */
SlsQt2DPlotLayout* cloneplot2D;
/** vector of 1D hist values */ /** vector of 1D hist values */
QVector<SlsQtH1D*> cloneplot1D_hists; QVector<SlsQtH1D*> cloneplot1D_hists;

View File

@ -59,7 +59,8 @@ public:
// output anything that is left // output anything that is left
if (!m_string.empty()) { if (!m_string.empty()) {
pthread_mutex_lock(&mutex); pthread_mutex_lock(&mutex);
QApplication::postEvent(log_window, new qStreamEvent(m_string.c_str())); const char* c_string = m_string.c_str();
QApplication::postEvent(log_window, new qStreamEvent(c_string));
pthread_mutex_unlock(&mutex); pthread_mutex_unlock(&mutex);
} }
m_stream.rdbuf(m_old_buf); m_stream.rdbuf(m_old_buf);
@ -71,7 +72,8 @@ protected:
virtual int_type overflow(int_type v){ virtual int_type overflow(int_type v){
if (v == '\n'){ if (v == '\n'){
pthread_mutex_lock(&mutex); pthread_mutex_lock(&mutex);
QApplication::postEvent(log_window, new qStreamEvent(m_string.c_str())); const char* c_string = m_string.c_str();
QApplication::postEvent(log_window, new qStreamEvent(c_string));
m_string.erase(m_string.begin(), m_string.end()); m_string.erase(m_string.begin(), m_string.end());
pthread_mutex_unlock(&mutex); pthread_mutex_unlock(&mutex);
} }
@ -87,13 +89,14 @@ protected:
m_string.append(p, p + n); m_string.append(p, p + n);
//changed from uint because of 64 bit //changed from uint because of 64 bit
int pos = 0; size_t pos = 0;
while (pos != string::npos){ while (pos != string::npos){
pos = m_string.find('\n'); pos = m_string.find('\n');
if (pos != string::npos){ if (pos != string::npos){
string tmp(m_string.begin(), m_string.begin() + pos); string tmp(m_string.begin(), m_string.begin() + pos);
QApplication::postEvent(log_window, new qStreamEvent(tmp.c_str())); const char* c_tmp = tmp.c_str();
QApplication::postEvent(log_window, new qStreamEvent(c_tmp));
m_string.erase(m_string.begin(), m_string.begin() + pos + 1); m_string.erase(m_string.begin(), m_string.begin() + pos + 1);
} }
} }

View File

@ -20,7 +20,7 @@
qCloneWidget::qCloneWidget(QWidget *parent,int id,QString title,QString xTitle, QString yTitle, QString zTitle, qCloneWidget::qCloneWidget(QWidget *parent,int id,QString title,QString xTitle, QString yTitle, QString zTitle,
int numDim,string FilePath,bool displayStats, QString min, QString max, QString sum): int numDim,string FilePath,bool displayStats, QString min, QString max, QString sum):
QMainWindow(parent),id(id),cloneplot2D(0),cloneplot1D(0),filePath(FilePath) QMainWindow(parent),id(id),filePath(FilePath),cloneplot1D(0),cloneplot2D(0)
{ {
// Window title // Window title
char winTitle[300],currTime[50]; char winTitle[300],currTime[50];
@ -267,12 +267,13 @@ void qCloneWidget::SavePlot(){
cloneBox->render(&painter); cloneBox->render(&painter);
fName = QFileDialog::getSaveFileName(this,tr("Save Snapshot "),fName,tr("PNG Files (*.png);;XPM Files(*.xpm);;JPEG Files(*.jpg)"),0,QFileDialog::ShowDirsOnly); fName = QFileDialog::getSaveFileName(this,tr("Save Snapshot "),fName,tr("PNG Files (*.png);;XPM Files(*.xpm);;JPEG Files(*.jpg)"),0,QFileDialog::ShowDirsOnly);
if (!fName.isEmpty()) if (!fName.isEmpty()) {
if((img.save(fName))) if((img.save(fName)))
qDefs::Message(qDefs::INFORMATION,"The SnapShot has been successfully saved","qCloneWidget::SavePlot"); qDefs::Message(qDefs::INFORMATION,"The SnapShot has been successfully saved","qCloneWidget::SavePlot");
else else
qDefs::Message(qDefs::WARNING,"Attempt to save snapshot failed.\n" qDefs::Message(qDefs::WARNING,"Attempt to save snapshot failed.\n"
"Formats: .png, .jpg, .xpm.","qCloneWidget::SavePlot"); "Formats: .png, .jpg, .xpm.","qCloneWidget::SavePlot");
}
} }

View File

@ -404,11 +404,11 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
det = myDet->getSlsDetector(i); det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters");
lblDetectorId->setText(comboDetector->itemText(i)); lblDetectorId->setText(comboDetector->itemText(i));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER));
lblDetectorSerial->setText(QString(value)); lblDetectorSerial->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION));
lblDetectorFirmware ->setText(QString(value)); lblDetectorFirmware ->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION));
lblDetectorSoftware->setText(QString(value)); lblDetectorSoftware->setText(QString(value));
qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters");
@ -425,17 +425,17 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
det = myDet->getSlsDetector(i); det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters");
lblDetectorId->setText(comboDetector->itemText(i)); lblDetectorId->setText(comboDetector->itemText(i));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER));
lblDetectorSerial->setText(QString(value)); lblDetectorSerial->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION));
lblDetectorFirmware ->setText(QString(value)); lblDetectorFirmware ->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION));
lblDetectorSoftware->setText(QString(value)); lblDetectorSoftware->setText(QString(value));
lblModuleId->setText(QString("%1").arg(im)); lblModuleId->setText(QString("%1").arg(im));
sprintf(value,"%llx",det->getId(slsDetectorDefs::MODULE_SERIAL_NUMBER,im)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::MODULE_SERIAL_NUMBER,im));
lblModuleSerial->setText(QString(value)); lblModuleSerial->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::MODULE_FIRMWARE_VERSION,im)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::MODULE_FIRMWARE_VERSION,im));
lblModuleFirmware->setText(QString(value)); lblModuleFirmware->setText(QString(value));
qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters");
@ -457,11 +457,11 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
det = myDet->getSlsDetector(i); det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters");
lblDetectorId->setText(comboDetector->itemText(i)); lblDetectorId->setText(comboDetector->itemText(i));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER));
lblDetectorSerial->setText(QString(value)); lblDetectorSerial->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION));
lblDetectorFirmware ->setText(QString(value)); lblDetectorFirmware ->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION));
lblDetectorSoftware->setText(QString(value)); lblDetectorSoftware->setText(QString(value));
qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters");
@ -481,11 +481,11 @@ void qTabDebugging::SetParameters(QTreeWidgetItem *item){
det = myDet->getSlsDetector(i); det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(myDet,"qTabDebugging::SetParameters");
lblDetectorId->setText(comboDetector->itemText(i)); lblDetectorId->setText(comboDetector->itemText(i));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER));
lblDetectorSerial->setText(QString(value)); lblDetectorSerial->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION));
lblDetectorFirmware ->setText(QString(value)); lblDetectorFirmware ->setText(QString(value));
sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); sprintf(value,"%llx",(long long unsigned int)det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION));
lblDetectorSoftware->setText(QString(value)); lblDetectorSoftware->setText(QString(value));
qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters"); qDefs::checkErrorMessage(det,"qTabDebugging::SetParameters");

View File

@ -734,7 +734,6 @@ void qTabMeasurement::SetTimingMode(int mode){
//Frame Period between exposures //Frame Period between exposures
qDefs::timeUnit unit;
if(lblPeriod->isEnabled()) if(lblPeriod->isEnabled())
CheckAcqPeriodGreaterThanExp(); CheckAcqPeriodGreaterThanExp();
else{ else{

View File

@ -69,11 +69,12 @@ void qTabSettings::GetDynamicRange(int setvalue){
cout << "Getting dynamic range" << endl; cout << "Getting dynamic range" << endl;
#endif #endif
int ret = myDet->setDynamicRange(-1); int ret = myDet->setDynamicRange(-1);
if(detType == slsDetectorDefs::MYTHEN) if(detType == slsDetectorDefs::MYTHEN) {
if(ret==24) if(ret==24)
ret=32; ret=32;
else if(ret==24) else if(ret==24)
cout<<"ret:"<<ret<<endl; cout<<"ret:"<<ret<<endl;
}
//check if the set value is equal to return value //check if the set value is equal to return value
if((setvalue!=-1) && (setvalue!=ret)){ if((setvalue!=-1) && (setvalue!=ret)){
qDefs::Message(qDefs::WARNING,"Dynamic Range cannot be set to this value.","qTabSettings::SetDynamicRange"); qDefs::Message(qDefs::WARNING,"Dynamic Range cannot be set to this value.","qTabSettings::SetDynamicRange");