summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-31 12:40:51 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-31 12:40:51 +0800
commit70dfe52e0ce1739dab5daff7308892d828c705c4 (patch)
treee64e07e614e2eec0c7d69d8b6f4938070841325e /mbbsd
parent314a95259dcccb82415c41b590ed36eb96719144 (diff)
downloadpttbbs-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.c2
-rw-r--r--mbbsd/pfterm.c3
-rw-r--r--mbbsd/pmore.c9
3 files changed, 11 insertions, 3 deletions
diff --git a/mbbsd/io.c b/mbbsd/io.c
index c35af7c7..8cf3999c 100644
--- a/mbbsd/io.c
+++ b/mbbsd/io.c
@@ -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);
}
}