File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -4504,6 +4504,10 @@ PopupMenuWndProc(
4504
4504
{
4505
4505
CREATESTRUCTW * cs = (CREATESTRUCTW * ) lParam ;
4506
4506
pPopupMenu -> spmenu = UserGetMenuObject (cs -> lpCreateParams );
4507
+ if (pPopupMenu -> spmenu )
4508
+ {
4509
+ UserReferenceObject (pPopupMenu -> spmenu );
4510
+ }
4507
4511
break ;
4508
4512
}
4509
4513
@@ -4548,6 +4552,10 @@ PopupMenuWndProc(
4548
4552
4549
4553
case WM_NCDESTROY :
4550
4554
{
4555
+ if (pPopupMenu -> spmenu )
4556
+ {
4557
+ IntReleaseMenuObject (pPopupMenu -> spmenu );
4558
+ }
4551
4559
DesktopHeapFree (Wnd -> head .rpdesk , pPopupMenu );
4552
4560
((PMENUWND )Wnd )-> ppopupmenu = 0 ;
4553
4561
Wnd -> fnid = FNID_DESTROY ;
@@ -4563,6 +4571,11 @@ PopupMenuWndProc(
4563
4571
ERR ("Bad Menu Handle\n" );
4564
4572
break ;
4565
4573
}
4574
+ UserReferenceObject (pmenu );
4575
+ if (pPopupMenu -> spmenu )
4576
+ {
4577
+ IntReleaseMenuObject (pPopupMenu -> spmenu );
4578
+ }
4566
4579
pPopupMenu -> spmenu = pmenu ;
4567
4580
break ;
4568
4581
}
You can’t perform that action at this time.
0 commit comments