Author: gedmurphy
Date: Wed Nov 14 16:05:51 2007
New Revision: 30442
URL:
http://svn.reactos.org/svn/reactos?rev=30442&view=rev
Log:
add part of the patch from bug 2805 with some minor changes
See issue #2805 for more details.
Modified:
trunk/reactos/base/applications/charmap/charmap.c
trunk/reactos/base/applications/charmap/map.c
Modified: trunk/reactos/base/applications/charmap/charmap.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
==============================================================================
--- trunk/reactos/base/applications/charmap/charmap.c (original)
+++ trunk/reactos/base/applications/charmap/charmap.c Wed Nov 14 16:05:51 2007
@@ -68,9 +68,8 @@
(WPARAM)hFont,
0);
+ ZeroMemory(&lf, sizeof(lf));
lf.lfCharSet = DEFAULT_CHARSET;
- lf.lfFaceName[0] = L'\0'; // all fonts
- lf.lfPitchAndFamily = 0;
hdc = GetDC(hwndCombo);
@@ -123,6 +122,10 @@
0,
(LPARAM)lpFontName);
}
+
+ HeapFree(GetProcessHeap(),
+ 0,
+ lpFontName);
}
}
@@ -250,12 +253,23 @@
}
return TRUE;
}
- break;
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
+ case IDC_FONTMAP:
+ {
+ switch (HIWORD(wParam))
+ {
+ case FM_SETCHAR:
+ AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
+ LOWORD(lParam));
+ break;
+ }
+ }
+ break;
+
case IDC_FONTCOMBO:
{
if (HIWORD(wParam) == CBN_SELCHANGE)
@@ -303,29 +317,6 @@
}
break;
- case WM_NOTIFY:
- {
- LPMAPNOTIFY lpnm = (LPMAPNOTIFY)lParam;
-
- switch (lpnm->hdr.idFrom)
- {
- case IDC_FONTMAP:
- {
- switch (lpnm->hdr.code)
- {
- case FM_SETCHAR:
- {
- AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
- lpnm->ch);
- }
- break;
- }
- }
- break;
- }
- }
- break;
-
case WM_CLOSE:
if (hSmIcon)
DestroyIcon(hSmIcon);
Modified: trunk/reactos/base/applications/charmap/map.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
==============================================================================
--- trunk/reactos/base/applications/charmap/map.c (original)
+++ trunk/reactos/base/applications/charmap/map.c Wed Nov 14 16:05:51 2007
@@ -211,19 +211,16 @@
if (infoPtr->hParent != NULL)
{
- MAPNOTIFY mnmh;
-
- mnmh.hdr.hwndFrom = infoPtr->hMapWnd;
- mnmh.hdr.idFrom = GetWindowLongPtr(infoPtr->hMapWnd,
- GWLP_ID);
- mnmh.hdr.code = code;
-
- mnmh.ch = ch;
-
- Ret = SendMessageW(infoPtr->hParent,
- WM_NOTIFY,
- (WPARAM)mnmh.hdr.idFrom,
- (LPARAM)&mnmh);
+ DWORD dwIdc = GetWindowLongPtr(infoPtr->hMapWnd, GWLP_ID);
+ /*
+ * Push directly into the event queue instead of waiting
+ * the parent to be unlocked.
+ * High word of LPARAM is still available for future needs...
+ */
+ Ret = PostMessage(infoPtr->hParent,
+ WM_COMMAND,
+ MAKELPARAM((WORD)dwIdc, (WORD)code),
+ (LPARAM)LOWORD(ch));
}
return Ret;
@@ -509,18 +506,8 @@
}
case FM_SETFONT:
- {
- LPWSTR lpFontName = (LPWSTR)lParam;
-
- SetFont(infoPtr,
- lpFontName);
-
- HeapFree(GetProcessHeap(),
- 0,
- lpFontName);
-
- break;
- }
+ SetFont(infoPtr, (LPWSTR)lParam);
+ break;
case FM_GETCHAR:
{