Don't generate QMovie() at all if we're told we're a static AOImage
This commit is contained in:
		
							parent
							
								
									885c510e3c
								
							
						
					
					
						commit
						132bf9b9d9
					
				@ -8,15 +8,18 @@ AOImage::AOImage(QWidget *parent, AOApplication *p_ao_app, bool make_static) : Q
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  m_parent = parent;
 | 
					  m_parent = parent;
 | 
				
			||||||
  ao_app = p_ao_app;
 | 
					  ao_app = p_ao_app;
 | 
				
			||||||
  movie = new QMovie();
 | 
					 | 
				
			||||||
  is_static = make_static;
 | 
					  is_static = make_static;
 | 
				
			||||||
  connect(movie, &QMovie::frameChanged, [=]{
 | 
					  if (!is_static) // Only create the QMovie if we're non-static
 | 
				
			||||||
    QPixmap f_pixmap = movie->currentPixmap();
 | 
					  {
 | 
				
			||||||
    f_pixmap =
 | 
					    movie = new QMovie();
 | 
				
			||||||
        f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio);
 | 
					    connect(movie, &QMovie::frameChanged, [=]{
 | 
				
			||||||
    this->setPixmap(f_pixmap);
 | 
					      QPixmap f_pixmap = movie->currentPixmap();
 | 
				
			||||||
    this->setMask(f_pixmap.mask());
 | 
					      f_pixmap =
 | 
				
			||||||
  });
 | 
					          f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio);
 | 
				
			||||||
 | 
					      this->setPixmap(f_pixmap);
 | 
				
			||||||
 | 
					      this->setMask(f_pixmap.mask());
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AOImage::~AOImage() {}
 | 
					AOImage::~AOImage() {}
 | 
				
			||||||
@ -36,12 +39,14 @@ bool AOImage::set_image(QString p_path, QString p_misc)
 | 
				
			|||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  path = p_path;
 | 
					  path = p_path;
 | 
				
			||||||
  movie->stop();
 | 
					  if (!is_static) {
 | 
				
			||||||
  movie->setFileName(path);
 | 
					    movie->stop();
 | 
				
			||||||
  if (ao_app->get_animated_theme() && movie->frameCount() > 1) {
 | 
					    movie->setFileName(path);
 | 
				
			||||||
    movie->start();
 | 
					    if (ao_app->get_animated_theme() && movie->frameCount() > 1) {
 | 
				
			||||||
 | 
					      movie->start();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else {
 | 
					  if (is_static || !ao_app->get_animated_theme() || movie->frameCount() <= 1) {
 | 
				
			||||||
    QPixmap f_pixmap(path);
 | 
					    QPixmap f_pixmap(path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    f_pixmap =
 | 
					    f_pixmap =
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user