Buenas noches! Soy nuevo en el foro y quiero pedir ayuda con un error que no comprendo muy bien, el código es el siguiente y su función es crear un hilo que mueva una figura o qlabel en la pantalla de forma indefinida. Si creo dos o tres hilos la aplicación corre bien y funciona perfecto pero al agregar 4 o mas aunque no se pone lenta la ejecución el programa se cae
#include "mythread.h"
#include <QWidget>
#include "animacion.h"
MyThread::MyThread(QObject *parent) : QThread(parent) {
x=0; y=80;
movimiento= (int *)malloc(sizeof(int)); *movimiento=0;
movimientoReversa= (int *)malloc(sizeof(int)); *movimientoReversa=0;
yaPaso= (int *)malloc(sizeof(int)); *yaPaso=-1;
movimientoReversaX= (int *)malloc(sizeof(int)); *movimientoReversaX=0;
ex=new Extras();
}
//metodo run que mueve la imagen
void MyThread::run(){
for( ; ; ){
if(*movimientoReversaX==0){
this->x+=5;
if(this->x>ancho-101){
*movimientoReversaX=1;
}
}else{
this->x-=5;
if(this->x<2){
*movimientoReversaX=0;
}
}
ex->msleep(40);
imagen->move(x,y);
}
}
//Con este metodo creo la imagen y la pego en el frame
void MyThread::pintar(QFrame *w){
ancho=w->width();
alto=w->height();
imagen=new QLabel(w);
mov=new QMovie(":/prueba.gif");
imagen->setMovie(mov);
imagen->setParent(w);
imagen->setGeometry(10,80,200,200);
imagen->show();
mov->start();
}
y el error que causa es este
*** glibc detected *** /home/richard/Documentos/SistemasO/Proyecto/Proyecto/Proyecto-build-desktop-Qt_4_8_1_in_PATH__System__Debug/Proyecto: corrupted double-linked list: 0x089a24b4 ***
The program has unexpectedly finished.
No comprendo bien que causa este error si alguien me pudiera dar al menos una pista lo agradecería montones