Skip to content

Commit 5fd3ed0

Browse files
authored
Merge pull request #468 from AttorneyOnline/fix/cont-hitch-mitigation
Mitigate hitching when using continuous playback, fix a botch in handling misc themes
2 parents fe00c6b + 36a1e26 commit 5fd3ed0

4 files changed

Lines changed: 13 additions & 14 deletions

File tree

include/aoapplication.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ class AOApplication : public QApplication {
308308

309309
// Returns the dimensions of widget with specified identifier from p_file
310310
pos_size_type get_element_dimensions(QString p_identifier, QString p_file,
311-
QString p_char = "");
311+
QString p_misc = "");
312312

313313
// Returns the value to you
314314
QString get_design_element(QString p_identifier, QString p_file,

src/aolayer.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -261,19 +261,22 @@ void CharLayer::start_playback(QString p_image)
261261

262262
void AOLayer::start_playback(QString p_image)
263263
{
264+
265+
if (!ao_app->is_continuous_enabled()) {
266+
continuous = false;
267+
force_continuous = true;
268+
}
269+
270+
if ((last_path == p_image) && (!force_continuous))
271+
return;
272+
264273
#ifdef DEBUG_MOVIE
265274
actual_time.restart();
266275
#endif
267276
this->clear();
268277
freeze();
269278
movie_frames.clear();
270279
movie_delays.clear();
271-
272-
if (!ao_app->is_continuous_enabled()) {
273-
continuous = false;
274-
force_continuous = true;
275-
}
276-
277280
QString scaling_override =
278281
ao_app->read_design_ini("scaling", p_image + ".ini");
279282
if (scaling_override != "")
@@ -289,10 +292,6 @@ void AOLayer::start_playback(QString p_image)
289292
m_reader.setFileName(p_image);
290293
if (m_reader.loopCount() == 0)
291294
play_once = true;
292-
if ((last_path == p_image) && (!force_continuous))
293-
continuous = true;
294-
else if ((last_path != p_image) && !force_continuous)
295-
continuous = false;
296295
if (!continuous)
297296
frame = 0;
298297
last_max_frames = max_frames;

src/courtroom.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ void Courtroom::set_size_and_pos(QWidget *p_widget, QString p_identifier,
11601160
QString filename = "courtroom_design.ini";
11611161

11621162
pos_size_type design_ini_result =
1163-
ao_app->get_element_dimensions(p_identifier, filename, p_char);
1163+
ao_app->get_element_dimensions(p_identifier, filename, ao_app->get_chat(p_char));
11641164

11651165
if (design_ini_result.width < 0 || design_ini_result.height < 0) {
11661166
qDebug() << "W: could not find \"" << p_identifier << "\" in " << filename;

src/text_file_functions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,14 +318,14 @@ QPoint AOApplication::get_button_spacing(QString p_identifier, QString p_file)
318318

319319
pos_size_type AOApplication::get_element_dimensions(QString p_identifier,
320320
QString p_file,
321-
QString p_char)
321+
QString p_misc)
322322
{
323323
pos_size_type return_value;
324324
return_value.x = 0;
325325
return_value.y = 0;
326326
return_value.width = -1;
327327
return_value.height = -1;
328-
QString f_result = get_design_element(p_identifier, p_file, p_char);
328+
QString f_result = get_design_element(p_identifier, p_file, p_misc);
329329

330330
QStringList sub_line_elements = f_result.split(",");
331331

0 commit comments

Comments
 (0)