Fixed sluggish response when manipulating editing marks while a cutting thread is running

This commit is contained in:
Klaus Schmidinger 2012-09-09 09:19:15 +02:00
parent 2ceb19e566
commit e6e9996060
4 changed files with 19 additions and 5 deletions

View File

@ -2886,6 +2886,8 @@ Torsten Lang <info@torstenlang.de>
is stored on the video directory file system within the cRecording data
for suppressing setting the "broken link" or "TEI" flags when cutting recordings
if the editing point merges two seamlessly fitting parts of the same stream
for reporting a sluggish response when manipulating editing marks while a cutting
thread is running
Christian Ruppert <idl0r@gentoo.org>
for some improvements to the Makefiles

View File

@ -7191,7 +7191,7 @@ Video Disk Recorder Revision History
turn on adding the source character to channel names whenever they are displayed
(suggested by Ludi Kaleni).
2012-09-06: Version 1.7.30
2012-09-07: Version 1.7.30
- Fixed sorting recordings in the top level video directory.
- Fixed handling control characters in SI data in case of UTF-8 encoded strings
@ -7226,3 +7226,5 @@ Video Disk Recorder Revision History
- Fixed getting the file size and number of frames of ongoing recordings (only the
timestamp of the recording's directory was checked, while it should have been that
of the index file).
- Fixed sluggish response when manipulating editing marks while a cutting thread
is running (reported by Torsten Lang).

15
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 2.58 2012/06/17 11:12:25 kls Exp $
* $Id: menu.c 2.59 2012/09/09 09:19:15 kls Exp $
*/
#include "menu.h"
@ -4455,6 +4455,7 @@ cReplayControl::cReplayControl(bool PauseLive)
{
currentReplayControl = this;
displayReplay = NULL;
marksModified = false;
visible = modeOnly = shown = displayFrames = false;
lastCurrent = lastTotal = -1;
lastPlay = lastForward = false;
@ -4472,6 +4473,10 @@ cReplayControl::~cReplayControl()
Hide();
cStatus::MsgReplaying(this, NULL, fileName, false);
Stop();
if (marksModified) {
marks.Save();
marksModified = false;
}
if (currentReplayControl == this)
currentReplayControl = NULL;
}
@ -4729,7 +4734,7 @@ void cReplayControl::MarkToggle(void)
Goto(Current, true);
}
ShowTimed(2);
marks.Save();
marksModified = true;
}
}
@ -4766,7 +4771,7 @@ void cReplayControl::MarkMove(bool Forward)
}
m->SetPosition(p);
Goto(m->Position(), true);
marks.Save();
marksModified = true;
}
}
}
@ -4775,6 +4780,10 @@ void cReplayControl::EditCut(void)
{
if (*fileName) {
Hide();
if (marksModified) {
marks.Save();
marksModified = false;
}
if (!cCutter::Active()) {
if (!marks.Count())
Skins.Message(mtError, tr("No editing marks defined!"));

3
menu.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.h 2.11 2012/06/13 11:23:11 kls Exp $
* $Id: menu.h 2.12 2012/09/07 08:48:34 kls Exp $
*/
#ifndef __MENU_H
@ -260,6 +260,7 @@ class cReplayControl : public cDvbPlayerControl {
private:
cSkinDisplayReplay *displayReplay;
cMarks marks;
bool marksModified;
bool visible, modeOnly, shown, displayFrames;
int lastCurrent, lastTotal;
bool lastPlay, lastForward;