変換終了時のクリア
@@ -561,6 +561,29 @@ | ||
561 | 561 | |
562 | 562 | case WM_IME_ENDCOMPOSITION: |
563 | 563 | ime_compositing = 0; |
564 | + EnterCriticalSection( &ime_cs ); | |
565 | + if( ime_composition_str && ime_composition_str != ime_composition_str_old ) | |
566 | + { | |
567 | + free( ime_composition_str ); | |
568 | + } | |
569 | + ime_composition_str = NULL; | |
570 | + | |
571 | + if( ime_composition_attr && ime_composition_attr != ime_composition_attr_old ) | |
572 | + { | |
573 | + free( ime_composition_attr ); | |
574 | + } | |
575 | + ime_composition_attr = NULL; | |
576 | + ime_composition_attr_size = 0; | |
577 | + | |
578 | + if( ime_canlist && ime_canlist != ime_canlist_old ) | |
579 | + { | |
580 | + free( ime_canlist ); | |
581 | + } | |
582 | + ime_canlist = NULL; | |
583 | + | |
584 | + ime_cursor_pos = 0; | |
585 | + | |
586 | + LeaveCriticalSection( &ime_cs ); | |
564 | 587 | return 0; |
565 | 588 | |
566 | 589 | case WM_IME_COMPOSITION: |