diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-12-31 12:40:51 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-12-31 12:40:51 +0800 |
commit | 70dfe52e0ce1739dab5daff7308892d828c705c4 (patch) | |
tree | e64e07e614e2eec0c7d69d8b6f4938070841325e /mbbsd | |
parent | 314a95259dcccb82415c41b590ed36eb96719144 (diff) | |
download | pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar.gz pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar.bz2 pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar.lz pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar.xz pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.tar.zst pttbbs-70dfe52e0ce1739dab5daff7308892d828c705c4.zip |
- better flush/synchronization flow
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3767 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/io.c | 2 | ||||
-rw-r--r-- | mbbsd/pfterm.c | 3 | ||||
-rw-r--r-- | mbbsd/pmore.c | 9 |
3 files changed, 11 insertions, 3 deletions
@@ -88,6 +88,8 @@ oflush(void) szLastOutput = 0; } #endif // DBG_OUTRPT + + fsync(1); } void diff --git a/mbbsd/pfterm.c b/mbbsd/pfterm.c index a7c81105..162e2459 100644 --- a/mbbsd/pfterm.c +++ b/mbbsd/pfterm.c @@ -863,8 +863,9 @@ refresh(void) } } - fterm_dupe2bk(); + // doing rawcursor() earlier to enable max display time fterm_rawcursor(); + fterm_dupe2bk(); ft.dirty = 0; } diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c index ae360c1f..44a405c6 100644 --- a/mbbsd/pmore.c +++ b/mbbsd/pmore.c @@ -1838,6 +1838,11 @@ pmore(char *fpath, int promptend) mf_moviePromptPlaying(0); + // doing refresh() here is better, + // to prevent that we forgot to refresh + // in SyncFrame. + refresh(); + if(mf_movieSyncFrame()) { /* user did not hit anything. @@ -3481,14 +3486,14 @@ int mf_movieSyncFrame() if(dv.tv_sec < 0) return 1; - return !pmore_wait_key(&dv, 1); + return !pmore_wait_key(&dv, 0); } else { /* synchronize each frame clock model */ /* because Linux will change the timeval passed to select, * let's use a temp value here. */ struct timeval dv = mfmovie.frameclk; - return !pmore_wait_key(&dv, 1); + return !pmore_wait_key(&dv, 0); } } |