<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/win32gui/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/win32gui/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 28 Jan 2005 09:28:20 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/win32gui/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>list_ctrl</title><link>https://sourceforge.net/p/win32gui/bugs/9/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi john,&lt;br /&gt;
the list_ctrl-class misses a function edit_label() like&lt;br /&gt;
the tree_ctrl&lt;/p&gt;
&lt;p&gt;mfg steven&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Fri, 28 Jan 2005 09:28:20 -0000</pubDate><guid>https://sourceforge.neta9cbf3a8a1292fa7fdaa70a2df0e27aaf05ba3e7</guid></item><item><title>overload resolution failure</title><link>https://sourceforge.net/p/win32gui/bugs/8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;hi john,&lt;br /&gt;
your image_list-constructor cannot be resolved&lt;br /&gt;
correctly by the compiler:&lt;/p&gt;
&lt;p&gt;image_list&amp;lt;shared&amp;gt; imgl_tree_;&lt;/p&gt;
&lt;p&gt;base_message_dlg_handler() : imgl_tree_(IDB_TREEICONS,&lt;br /&gt;
16, 0, CLR_DEFAULT, LR_DEFAULTCOLOR)&lt;br /&gt;
{}&lt;/p&gt;
&lt;p&gt;this could be either&lt;br /&gt;
'image_list&amp;lt;r_type&amp;gt;::image_list(int,int,int,color,UINT)'&lt;br /&gt;
or     &lt;br /&gt;
'image_list&amp;lt;r_type&amp;gt;::image_list(int,int,UINT,int,int)'&lt;/p&gt;
&lt;p&gt;(your color-class has a conversion constructor...)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Sat, 15 Jan 2005 17:32:24 -0000</pubDate><guid>https://sourceforge.net5ae043366cd3916ed11bc77e71f20e99a0a79e20</guid></item><item><title>spelling mistake of tree_ctrl::drop_highlighted()</title><link>https://sourceforge.net/p/win32gui/bugs/7/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;hi john,&lt;br /&gt;
the drop_highlighted()-functions of the tree_ctrl are&lt;br /&gt;
misspelled. they are:&lt;/p&gt;
&lt;p&gt;drop_hilighted()&lt;br /&gt;
and&lt;br /&gt;
drop_highlighed()&lt;/p&gt;
&lt;p&gt;:-)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Thu, 06 Jan 2005 11:44:37 -0000</pubDate><guid>https://sourceforge.nete7c870e89fb46f4bf1e7c354fd35555901db85ef</guid></item><item><title>no real bug but annoying</title><link>https://sourceforge.net/p/win32gui/bugs/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;hi john,&lt;br /&gt;
in win32gui/detail/general/defs.hpp you typedefed &lt;br /&gt;
std::basic_string&amp;lt;TCHAR&amp;gt; to string. this can affect &lt;br /&gt;
user code:&lt;/p&gt;
&lt;p&gt;void func()&lt;br /&gt;
{&lt;br /&gt;
using namespace win32::gui;&lt;br /&gt;
using namespace std;&lt;/p&gt;
&lt;p&gt;string str; // could be win32::gui::string or std::&lt;br /&gt;
string!&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;i know, developing the library with typing std::string &lt;br /&gt;
all the time is very annoying but you could do a final &lt;br /&gt;
"Search&amp;amp;Replace in Files" in your vc++ when a new &lt;br /&gt;
release is completed so this would only be a &lt;br /&gt;
measure of a minute&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Tue, 14 Dec 2004 11:42:09 -0000</pubDate><guid>https://sourceforge.netac0ecb8f90b11208606be57a0dc97dcbc24dbb38</guid></item><item><title>Difficult workaround for the user</title><link>https://sourceforge.net/p/win32gui/bugs/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi John,&lt;br /&gt;
few days ago i told you that i wanted to subclass the &lt;br /&gt;
menu's window. after some tries i realized that i have to &lt;br /&gt;
create a hook which monitors the creation of the window &lt;br /&gt;
for a correct subclassing. my first plan was to subclass &lt;br /&gt;
the window in response to a WM_ENTERMENULOOP, &lt;br /&gt;
WM_INITMENU or some other menu-related message but &lt;br /&gt;
that either wasn't possible (window has not been created &lt;br /&gt;
yet) or it turned out to be erroneous.&lt;/p&gt;
&lt;p&gt;so i took the step with the hook. i created a CBT-hook &lt;br /&gt;
and wanted to remap the window in this hook -&amp;gt;&lt;/p&gt;
&lt;p&gt;static LRESULT CALLBACK CBTHook(int nCode, WPARAM &lt;br /&gt;
wParam, LPARAM lParam) &lt;br /&gt;
{&lt;br /&gt;
HWND hWnd = 0;&lt;br /&gt;
if ( nCode == HCBT_CREATEWND) {&lt;br /&gt;
hWnd = reinterpret_cast&amp;lt;HWND&amp;gt;(wParam);&lt;br /&gt;
if (is_menu_hwnd(hWnd))&lt;br /&gt;
mapping::remap_wnd&amp;lt;menu_wnd&amp;gt; (hWnd);&lt;br /&gt;
}    &lt;br /&gt;
return CallNextHookEx( g_cbt_hook_, nCode, wParam, &lt;br /&gt;
lParam);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;but remap_wnd() throwed an exception. the location was &lt;br /&gt;
in get_window_anythread(). i analyzed your code and &lt;br /&gt;
came to the conclusion that you also have a cbt-hook &lt;br /&gt;
but the windows don't get subclassed immediately but &lt;br /&gt;
only after a message. so here's my workaround:&lt;/p&gt;
&lt;p&gt;static LRESULT CALLBACK msg_window_hook(int nCode, &lt;br /&gt;
WPARAM wParam, LPARAM lParam)&lt;br /&gt;
{&lt;br /&gt;
static const int wm_register_internal = &lt;br /&gt;
get_wm_register_internal();&lt;/p&gt;
&lt;p&gt;MSG * msg = reinterpret_cast&amp;lt;MSG*&amp;gt;(lParam);    &lt;br /&gt;
if ( msg-&amp;gt;message == wm_register_internal) {&lt;br /&gt;
HWND hWnd = reinterpret_cast&amp;lt;HWND&amp;gt;(msg-&lt;br /&gt;
&amp;gt;lParam);&lt;br /&gt;
if (is_menu_hwnd(hWnd)) {&lt;br /&gt;
bool create = msg-&amp;gt;wParam != 0;&lt;br /&gt;
if (create)&lt;br /&gt;
mapping::remap_wnd&amp;lt;menu_wnd&amp;gt; (hWnd);    &lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
return CallNextHookEx(g_msg_hook_, nCode, wParam, &lt;br /&gt;
lParam);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;i copied the get_wm_register_internal() function from &lt;br /&gt;
your code. my hook procedure is a WH_GETMESSAGE-&lt;br /&gt;
hook (like yours) and to make sure my hook procedure is &lt;br /&gt;
called AFTER win32gui's i have a static object so this &lt;br /&gt;
object will be created at program initialization and your &lt;br /&gt;
SetWindowsHookEx() will be called after mine -&amp;gt; correct &lt;br /&gt;
Hook-Chaining-Order.&lt;/p&gt;
&lt;p&gt;you commented that this is necessary for correct &lt;br /&gt;
subclassing. but you could create a function which takes &lt;br /&gt;
the steps for correct hooking - or you mention the &lt;br /&gt;
correct procedure in the docs. it took some time for me &lt;br /&gt;
to solve the problem and i don't think unexperienced &lt;br /&gt;
programmers will find the solution by themselves&lt;/p&gt;
&lt;p&gt;greetz steven&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Sat, 27 Nov 2004 12:46:29 -0000</pubDate><guid>https://sourceforge.net824d3db62a24973c52c0331762d3805d5259a2c2</guid></item><item><title>new version (1.6) doesn't compile</title><link>https://sourceforge.net/p/win32gui/bugs/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;the version as it is now isn't compilable:&lt;/p&gt;
&lt;p&gt;- in win32gui/events/wm/common.hpp it should be&lt;br /&gt;
#include &amp;lt;win32gui/events/wm/detail/common_draw.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;win32gui/events/wm/detail/common_keyb.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;win32gui/events/wm/detail/common_menu.&lt;br /&gt;
hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;win32gui/events/wm/detail/common_mouse.&lt;br /&gt;
hpp&amp;gt;&lt;/p&gt;
&lt;p&gt;you forgot the "detail"-folder&lt;/p&gt;
&lt;p&gt;----------------------------------------------------&lt;/p&gt;
&lt;p&gt;- strangely some WM_* defines in common_mouse.hpp &lt;br /&gt;
are undefined...although i include &amp;lt;windows.h&amp;gt; before &lt;br /&gt;
&amp;lt;win32gui/pch/pch.h&amp;gt; in my stdafx.h.&lt;/p&gt;
&lt;p&gt;i added this lines to common_mouse.hpp:&lt;br /&gt;
#ifndef WM_MOUSEWHEEL&lt;br /&gt;
#define WM_MOUSEWHEEL 0x020A&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_XBUTTONDOWN&lt;br /&gt;
#define WM_XBUTTONDOWN 0x020B&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_XBUTTONUP&lt;br /&gt;
#define WM_XBUTTONUP 0x020C&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_XBUTTONDBLCLK&lt;br /&gt;
#define WM_XBUTTONDBLCLK 0x020D&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_NCXBUTTONDOWN&lt;br /&gt;
#define WM_NCXBUTTONDOWN 0x00AB&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_NCXBUTTONUP&lt;br /&gt;
#define WM_NCXBUTTONUP 0x00AC&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;#ifndef WM_NCXBUTTONDBLCLK&lt;br /&gt;
#define WM_NCXBUTTONDBLCLK 0x00AD&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;----------------------------------------------------&lt;/p&gt;
&lt;p&gt;- win32gui/events/controls/check_box.hpp&lt;/p&gt;
&lt;p&gt;wrong include path, should be:&lt;br /&gt;
#include &amp;lt;win32gui/events/extend/button.hpp&amp;gt;&lt;br /&gt;
(you forgot the extend subfolder)&lt;/p&gt;
&lt;p&gt;----------------------------------------------------&lt;/p&gt;
&lt;p&gt;- win32gui\events\extend\button.hpp&lt;br /&gt;
doesn't compile, various syntax errors&lt;/p&gt;
&lt;p&gt;----------------------------------------------------&lt;/p&gt;
&lt;p&gt;- ... there are a lot more but i have to go away from &lt;br /&gt;
work now. maybe tomorrow i'll post some more&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Thu, 18 Nov 2004 15:04:31 -0000</pubDate><guid>https://sourceforge.nete7b56ed3a9cb854ab0cb314c983ebbb00dcb8889</guid></item><item><title>Bug comparing signals...</title><link>https://sourceforge.net/p/win32gui/bugs/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The use of signal::result_signal() in combination with&lt;br /&gt;
signal::operator==() does not give the expected result.&lt;/p&gt;
&lt;p&gt;The easiest way to reproduce the incorrect behavior is&lt;br /&gt;
to wait for the signal&lt;br /&gt;
"wait_for::key_pressed(VK_RETURN)" and then compare the&lt;br /&gt;
signal returned by wait() to&lt;br /&gt;
"wait_for::key_pressed(VK_RETURN)". The two will not&lt;br /&gt;
compare as equal even when the return key is pressed.&lt;/p&gt;
&lt;p&gt;The method signal::result_signal() copies the internals&lt;br /&gt;
of the signal and then sets the various fields to the&lt;br /&gt;
values passed in (these come from the windows message&lt;br /&gt;
itself) including the lparam, which in the case of a&lt;br /&gt;
WM_KEYDOWN message will be some number based on the&lt;br /&gt;
repeat count of the keypress etc. signal::operator==()&lt;br /&gt;
compares the various fields of the two signals. The&lt;br /&gt;
predefined signal (key_pressed(VK_RETURN)) will have&lt;br /&gt;
m_lparam == 0 since this is a msg_w_param signal type,&lt;br /&gt;
and the signal returned by signal::result_signal() has&lt;br /&gt;
some other value for m_lparam, so the two do not&lt;br /&gt;
compare as equal.&lt;/p&gt;
&lt;p&gt;The bug here is either the fact that&lt;br /&gt;
signal::result_signal() is altering unused fields (i.e.&lt;br /&gt;
changing the m_lparam member for a msg_w_param signal)&lt;br /&gt;
or that signal::operator==() is comparing unused&lt;br /&gt;
fields, or both.&lt;/p&gt;
&lt;p&gt;my email is: squiremyrkle@fastmail.fm if you have any&lt;br /&gt;
questions.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 18 Oct 2004 02:56:06 -0000</pubDate><guid>https://sourceforge.net31c2dfb729094b0a42ca8ec692f37c50bae176e2</guid></item><item><title>Some more leaks...</title><link>https://sourceforge.net/p/win32gui/bugs/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;hi,&lt;br /&gt;
i mentioned some more memleaks (v1.4.1b):&lt;/p&gt;
&lt;p&gt;1.) win_tss &amp;amp; get_tss() &lt;br /&gt;
at tss = new win_tss;&lt;/p&gt;
&lt;p&gt;2.) void dispatcher::add_signals( const signals_vector&amp;amp; &lt;br /&gt;
signals)&lt;br /&gt;
at m_signals_stack.push(signals);&lt;/p&gt;
&lt;p&gt;3.) and some more, but when I try to get 'em Vc++ 2003 &lt;br /&gt;
kicks me out...it hangs, ergh!&lt;/p&gt;
&lt;p&gt;you can see the leaks by calling &lt;/p&gt;
&lt;p&gt;int temp = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);&lt;br /&gt;
temp |= _CRTDBG_LEAK_CHECK_DF;&lt;br /&gt;
_CrtSetDbgFlag(temp);&lt;/p&gt;
&lt;p&gt;in WinMain. with _CrtSetBreakAlloc(allocNum); you can &lt;br /&gt;
set a breakpoint at allocation number allocNum to trace &lt;br /&gt;
back to the memory allocation&lt;/p&gt;
&lt;p&gt;(I'm sure you have already known this ;-) )&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Weiss</dc:creator><pubDate>Mon, 20 Sep 2004 19:09:57 -0000</pubDate><guid>https://sourceforge.net5529918d406374e28795036edcac9318ddf792c1</guid></item><item><title>resizable_wnd bug - resizing turns into move</title><link>https://sourceforge.net/p/win32gui/bugs/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When a window extends resizable_wnd, resizing the &lt;br /&gt;
window using the top-left corner, the top border, or the &lt;br /&gt;
left border causes the window to move if the window &lt;br /&gt;
can not be resized any smaller.&lt;/p&gt;
&lt;p&gt;Rather than using on_sizing to check for min/max, &lt;br /&gt;
handle the WM_GETMINMAXINFO message instead.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sun, 29 Aug 2004 18:18:21 -0000</pubDate><guid>https://sourceforge.net6e477b4a03368de71eee4909c0660a4e6ee05294</guid></item></channel></rss>