SmartAudio/package/minigui/libmgi/patches/003-modify-memory-leaks.patch

60 lines
1.6 KiB
Diff
Executable File

--- a/include/mgi.h 2018-07-06 15:20:12.791328117 +0800
+++ b/include/mgi.h 2018-07-06 14:49:23.467381468 +0800
@@ -278,7 +278,7 @@
*/
BOOL mgiDestroyIMEContainer (GHANDLE ime);
-
+HWND getSoftKeyWnd();
/** @} end of ime_container_fns */
#define LEFT 0
--- a/src/softkeyboard/softkeywindow.c 2018-07-06 15:20:13.227328104 +0800
+++ b/src/softkeyboard/softkeywindow.c 2018-07-06 15:09:10.367347227 +0800
@@ -1,3 +1,4 @@
+
/*
** $Id$
**
@@ -287,8 +288,9 @@
} else {
if (wParam == 0) {
// use animates
- RunJumpWindow(hWnd, x, y - SKB_WIN_H, x, y,
- SKB_WIN_W, SKB_WIN_H, on_imewnd_jmp_finished, pdata);
+ ShowWindow(hWnd, SW_HIDE);
+ /*RunJumpWindow(hWnd, x, y - SKB_WIN_H, x, y,
+ SKB_WIN_W, SKB_WIN_H, on_imewnd_jmp_finished, pdata);*/
} else {
ShowWindow(hWnd, SW_HIDE);
}
@@ -396,11 +398,16 @@
return DefaultMainWinProc(hWnd, message, wParam, lParam);
}
+HWND SoftKeyWND;
+HWND getSoftKeyWnd()
+{
+ return SoftKeyWND;
+}
static int SoftKeyWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
-
- SOFTKBD_DATA* pdata = NULL;
+ SoftKeyWND = hWnd;
+ SOFTKBD_DATA* pdata = NULL;
if (message != MSG_CREATE)
{
@@ -551,7 +551,8 @@
//SendMessage(HWND_DESKTOP, MSG_IME_UNREGISTER, (WPARAM) hWnd, 0);
destroy_key_win();
#ifdef KBD_TOOLTIP
- DestroyMainWindow(pdata->tooltip_win);
+ SendMessage(pdata->tooltip_win, MSG_CLOSE, NULL, NULL);
+// DestroyMainWindow(pdata->tooltip_win);
#endif
free(pdata);
DestroyMainWindow(hWnd);