diff --git a/libchewing-0.3.0-5.bz216581a.patch b/libchewing-0.3.0-5.bz216581a.patch new file mode 100644 index 0000000..354286c --- /dev/null +++ b/libchewing-0.3.0-5.bz216581a.patch @@ -0,0 +1,11 @@ +--- libchewing-0.3.0/src/chewingio.c.3-bz209575 2006-11-03 15:04:48.000000000 +1000 ++++ libchewing-0.3.0/src/chewingio.c 2006-11-03 15:06:15.000000000 +1000 +@@ -176,6 +176,8 @@ + pgdata->PointStart = -1; + pgdata->PointEnd = 0; + pgdata->phrOut.nNumCut = 0; ++ CleanAllBuf( pgdata ); ++ + return 0; + } + diff --git a/libchewing-0.3.0-5.bz216581b.patch b/libchewing-0.3.0-5.bz216581b.patch new file mode 100644 index 0000000..560f287 --- /dev/null +++ b/libchewing-0.3.0-5.bz216581b.patch @@ -0,0 +1,58 @@ +--- libchewing-0.3.0/src/chewingio.c.4-bz216377 2006-11-21 15:45:08.000000000 +1000 ++++ libchewing-0.3.0/src/chewingio.c 2006-11-21 15:45:08.000000000 +1000 +@@ -860,6 +860,44 @@ + return 0; + } + ++CHEWING_API int chewing_handle_PageUp( ChewingContext *ctx ) ++{ ++ ChewingData *pgdata = ctx->data; ++ ChewingOutput *pgo = ctx->output; ++ int keystrokeRtn = KEYSTROKE_ABSORB; ++ ++ CheckAndResetRange( pgdata ); ++ ++ if ( ! ChewingIsEntering( pgdata ) ) { ++ keystrokeRtn = KEYSTROKE_IGNORE; ++ } ++ else if ( ! pgdata->bSelect ) { ++ pgdata->chiSymbolCursor = pgdata->chiSymbolBufLen; ++ pgdata->cursor = pgdata->nPhoneSeq; ++ } ++ MakeOutputWithRtn( pgo, pgdata, keystrokeRtn ); ++ return 0; ++} ++ ++CHEWING_API int chewing_handle_PageDown( ChewingContext *ctx ) ++{ ++ ChewingData *pgdata = ctx->data; ++ ChewingOutput *pgo = ctx->output; ++ int keystrokeRtn = KEYSTROKE_ABSORB; ++ ++ CheckAndResetRange( pgdata ); ++ ++ if ( ! ChewingIsEntering( pgdata ) ) { ++ keystrokeRtn = KEYSTROKE_IGNORE; ++ } ++ else if ( ! pgdata->bSelect ) { ++ pgdata->chiSymbolCursor = pgdata->chiSymbolBufLen; ++ pgdata->cursor = pgdata->nPhoneSeq; ++ } ++ MakeOutputWithRtn( pgo, pgdata, keystrokeRtn ); ++ return 0; ++} ++ + /* Dvorak <-> Qwerty keyboard layout converter */ + static int dvorak_convert( int key ) + { +--- libchewing-0.3.0/include/chewingio.h.4-bz216377 2006-11-21 15:45:46.000000000 +1000 ++++ libchewing-0.3.0/include/chewingio.h 2006-11-21 15:45:03.000000000 +1000 +@@ -37,6 +37,8 @@ + CHEWING_API int chewing_handle_Up( ChewingContext * ); + CHEWING_API int chewing_handle_Home( ChewingContext * ); + CHEWING_API int chewing_handle_End( ChewingContext * ); ++CHEWING_API int chewing_handle_PageUp( ChewingContext * ); ++CHEWING_API int chewing_handle_PageDown( ChewingContext * ); + CHEWING_API int chewing_handle_Down( ChewingContext * ); + CHEWING_API int chewing_handle_Capslock( ChewingContext * ); + CHEWING_API int chewing_handle_Default( ChewingContext *, int key ); diff --git a/libchewing.spec b/libchewing.spec index 60dd3eb..b0da0e8 100644 --- a/libchewing.spec +++ b/libchewing.spec @@ -1,6 +1,6 @@ Name: libchewing Version: 0.3.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Intelligent phonetic input method library for Traditional Chinese Group: System Environment/Libraries @@ -9,6 +9,8 @@ URL: http://chewing.csie.net/ Source: http://chewing.csie.net/download/libchewing/%{name}-%{version}.tar.gz Patch0: libchewing-0.3.0-3.bz199353.patch Patch1: libchewing-0.3.0-4.bz206232.patch +Patch2: libchewing-0.3.0-5.bz216581a.patch +Patch3: libchewing-0.3.0-5.bz216581b.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root @@ -32,6 +34,8 @@ Headers and other files needed to develop applications using the %name library. %setup -q %patch0 -p1 -b .1-bz199353 %patch1 -p1 -b .2-bz206232 +%patch2 -p1 -b .3-bz216581a +%patch3 -p1 -b .4-bz216581b %build %configure --disable-static @@ -65,6 +69,12 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.so %changelog +* Tue Nov 21 2006 Caius Chance - 0.3.0-5.fc7 +- Fixed bz#216581: Ported the following bugfix: +- (bz#216337: Page Up / Page Down key doesn't when Chewing is activated.) +- (bz#209575: preedit buffer is not cleared when framework calls for + instance reset.) + * Fri Sep 15 2006 Caius Chance - 0.3.0-4.fc6 - Fixed bz#206232 - Shift_L + space doesn't work correctly