From ff8b018580b72d732037d355e37bf2e0250fbaef Mon Sep 17 00:00:00 2001 From: Mari Sano Date: Thu, 2 Jun 2022 07:53:07 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E7=84=A1=E9=A1=8C=E3=82=B7=E3=83=BC?= =?UTF-8?q?=E3=82=B1=E3=83=B3=E3=82=B9=E7=95=AA=E5=8F=B7=E3=81=AE=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E3=81=AB=E5=A4=B1=E6=95=97=E3=81=99=E3=82=8B=E4=B8=8D?= =?UTF-8?q?=E5=85=B7=E5=90=88=E3=81=AE=E6=9A=AB=E5=AE=9A=E5=AF=BE=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 拡張領域の指定に「sizeof式」を使っていたために利用箇所を見落とした? 独自定数を切って見落としを防ぎ、必要な量の拡張領域を確保するよう修正。 --- sakura_core/env/CAppNodeManager.cpp | 6 +++--- sakura_core/window/CEditWnd.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sakura_core/env/CAppNodeManager.cpp b/sakura_core/env/CAppNodeManager.cpp index c0b48d8cf4..19708a25f3 100644 --- a/sakura_core/env/CAppNodeManager.cpp +++ b/sakura_core/env/CAppNodeManager.cpp @@ -177,11 +177,11 @@ BOOL CAppNodeGroupHandle::AddEditWndList( HWND hWnd ) } /* ウィンドウ連番 */ - - if( 0 == ::GetWindowLongPtr( hWnd, sizeof(LONG_PTR) ) ) + constexpr auto MY_GWLP_SEQUENCE = sizeof(LONG_PTR) * 1; // 2個目の拡張領域。 + if( 0 == ::GetWindowLongPtr( hWnd, MY_GWLP_SEQUENCE ) ) { pShare->m_sNodes.m_nSequences++; - ::SetWindowLongPtr( hWnd, sizeof(LONG_PTR) , (LONG_PTR)pShare->m_sNodes.m_nSequences ); + ::SetWindowLongPtr( hWnd, MY_GWLP_SEQUENCE, (LONG_PTR)pShare->m_sNodes.m_nSequences ); //連番を更新する。 sMyEditNode.m_nIndex = pShare->m_sNodes.m_nSequences; diff --git a/sakura_core/window/CEditWnd.cpp b/sakura_core/window/CEditWnd.cpp index 4e68a07e86..36fd382ced 100644 --- a/sakura_core/window/CEditWnd.cpp +++ b/sakura_core/window/CEditWnd.cpp @@ -376,7 +376,7 @@ HWND CEditWnd::_CreateMainWindow(int nGroup, const STabGroupInfo& sTabGroupInfo) wc.style = CS_DBLCLKS | CS_BYTEALIGNCLIENT | CS_BYTEALIGNWINDOW; wc.lpfnWndProc = CEditWndProc; wc.cbClsExtra = 0; - wc.cbWndExtra = 0; + wc.cbWndExtra = sizeof(LONG_PTR) * 2; //拡張領域を2個確保。 wc.hInstance = G_AppInstance(); // Dec, 2, 2002 genta アイコン読み込み方法変更 wc.hIcon = GetAppIcon( G_AppInstance(), ICON_DEFAULT_APP, FN_APP_ICON, false ); From 537d318be278beef6162cbbd319aa5fd3c46671f Mon Sep 17 00:00:00 2001 From: Mari Sano Date: Thu, 2 Jun 2022 18:10:33 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8B=A1=E5=BC=B5=E9=A0=98=E5=9F=9F?= =?UTF-8?q?=E3=81=AE=E7=95=AA=E5=8F=B7=E3=82=92=E3=81=9A=E3=82=89=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #1794でインデックス0の拡張領域を利用しなくなったので、無題シーケンスを格納する拡張領域を1つ前にずらします。 --- sakura_core/env/CAppNodeManager.cpp | 2 +- sakura_core/window/CEditWnd.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sakura_core/env/CAppNodeManager.cpp b/sakura_core/env/CAppNodeManager.cpp index 19708a25f3..329c093512 100644 --- a/sakura_core/env/CAppNodeManager.cpp +++ b/sakura_core/env/CAppNodeManager.cpp @@ -177,7 +177,7 @@ BOOL CAppNodeGroupHandle::AddEditWndList( HWND hWnd ) } /* ウィンドウ連番 */ - constexpr auto MY_GWLP_SEQUENCE = sizeof(LONG_PTR) * 1; // 2個目の拡張領域。 + constexpr auto MY_GWLP_SEQUENCE = sizeof(LONG_PTR) * 0; // 1個目の拡張領域。 if( 0 == ::GetWindowLongPtr( hWnd, MY_GWLP_SEQUENCE ) ) { pShare->m_sNodes.m_nSequences++; diff --git a/sakura_core/window/CEditWnd.cpp b/sakura_core/window/CEditWnd.cpp index 36fd382ced..cd2ff90a3d 100644 --- a/sakura_core/window/CEditWnd.cpp +++ b/sakura_core/window/CEditWnd.cpp @@ -376,7 +376,7 @@ HWND CEditWnd::_CreateMainWindow(int nGroup, const STabGroupInfo& sTabGroupInfo) wc.style = CS_DBLCLKS | CS_BYTEALIGNCLIENT | CS_BYTEALIGNWINDOW; wc.lpfnWndProc = CEditWndProc; wc.cbClsExtra = 0; - wc.cbWndExtra = sizeof(LONG_PTR) * 2; //拡張領域を2個確保。 + wc.cbWndExtra = sizeof(LONG_PTR) * 1; //拡張領域を1個確保。 wc.hInstance = G_AppInstance(); // Dec, 2, 2002 genta アイコン読み込み方法変更 wc.hIcon = GetAppIcon( G_AppInstance(), ICON_DEFAULT_APP, FN_APP_ICON, false );