Fix a problem with passing non-static variable to function in another thread.

This commit is contained in:
Joe Taylor 2023-12-22 15:33:22 -05:00
parent 08d9ebaf1a
commit 6b5db9fd0c
4 changed files with 5 additions and 9 deletions

View File

@ -133,7 +133,6 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
freq1=freq0 + 0.001d0*(ikhz1-ikhz) freq1=freq0 + 0.001d0*(ikhz1-ikhz)
frx=0.001*k0*df+nkhz_center-48.0+1.0 - 0.001*nfcal frx=0.001*k0*df+nkhz_center-48.0+1.0 - 0.001*nfcal
fsked=frx - 0.001*ndop00/2.0 - 0.001*offset fsked=frx - 0.001*ndop00/2.0 - 0.001*offset
print*,'B',nCFOM,ndop00,frx,fsked,nsnr0,bClickDecode
if(iand(nCFOM,2).eq.2) write(*,3001) nCFOM,ndop00,frx,fsked if(iand(nCFOM,2).eq.2) write(*,3001) nCFOM,ndop00,frx,fsked
3001 format('A',i5,i8,f10.3,f10.1) 3001 format('A',i5,i8,f10.3,f10.1)
ctmp=csubmode//' '//trim(msg0) ctmp=csubmode//' '//trim(msg0)

View File

@ -44,7 +44,6 @@ subroutine q65c(itimer)
call chkstat(dd,max_nhsym,bSkip) call chkstat(dd,max_nhsym,bSkip)
if(bSkip) return if(bSkip) return
print*,'A'
call timer('decode0 ',0) call timer('decode0 ',0)
call decode0(dd,ss,savg) call decode0(dd,ss,savg)
call timer('decode0 ',1) call timer('decode0 ',1)

View File

@ -197,8 +197,7 @@ MainWindow::MainWindow(QWidget *parent) :
MainWindow::~MainWindow() MainWindow::~MainWindow()
{ {
writeSettings(); writeSettings();
int itimer=1; q65c_(&m_one);
q65c_(&itimer);
if (soundInThread.isRunning()) { if (soundInThread.isRunning()) {
soundInThread.quit(); soundInThread.quit();
@ -332,6 +331,7 @@ void MainWindow::dataSink(int k)
static int ndiskdat; static int ndiskdat;
static int nb; static int nb;
static int k0=0; static int k0=0;
static int ndop00=0;
static float px=0.0; static float px=0.0;
static uchar lstrong[1024]; static uchar lstrong[1024];
static float slimit; static float slimit;
@ -351,7 +351,6 @@ void MainWindow::dataSink(int k)
if(!m_fs96000) nfsample=95238; if(!m_fs96000) nfsample=95238;
if(m_bCFOM) { if(m_bCFOM) {
int ndop00=0;
if(m_astro_window) ndop00=m_astro_window->getSelfDop(); if(m_astro_window) ndop00=m_astro_window->getSelfDop();
cfom_(datcom_.d4, &k0, &k, &ndop00); cfom_(datcom_.d4, &k0, &k, &ndop00);
} }
@ -748,7 +747,6 @@ void MainWindow::diskWriteFinished() //diskWriteFinished
void MainWindow::decoderFinished() //diskWriteFinished void MainWindow::decoderFinished() //diskWriteFinished
{ {
qDebug() << "bb Decoder Finished";
ui->DecodeButton->setStyleSheet(""); ui->DecodeButton->setStyleSheet("");
decodeBusy(false); decodeBusy(false);
m_startAnother=m_loopall; m_startAnother=m_loopall;
@ -921,9 +919,7 @@ void MainWindow::decode() //decode()
decodes_.ncand=0; decodes_.ncand=0;
decodes_.nQDecoderDone=0; decodes_.nQDecoderDone=0;
if(m_nTx30<5) { if(m_nTx30<5) {
int itimer=0; watcher3.setFuture(QtConcurrent::run (std::bind (q65c_, &m_zero)));
qDebug() << "aa" << datcom_.nagain;
watcher3.setFuture(QtConcurrent::run (std::bind (q65c_, &itimer)));
decodeBusy(true); decodeBusy(true);
} }
} }

View File

@ -122,6 +122,8 @@ private:
qint32 m_nDoubleClicked=0; qint32 m_nDoubleClicked=0;
qint32 m_nline=0; qint32 m_nline=0;
qint32 m_WSJTX_TRperiod=0; qint32 m_WSJTX_TRperiod=0;
qint32 m_zero=0;
qint32 m_one=1;
double m_fAdd; double m_fAdd;
double m_xavg; double m_xavg;