Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 07720b6

Browse files
Turn MCmenubar into an object handle
Conflicts: engine/src/stack2.cpp
1 parent c7c20c7 commit 07720b6

File tree

10 files changed

+19
-15
lines changed

10 files changed

+19
-15
lines changed

engine/src/desktop-menu.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,7 @@ void MCScreenDC::updatemenubar(Boolean force)
577577
if (!MCdefaultmenubar) // the menu of first stack opened becomes
578578
MCdefaultmenubar = MCmenubar; // the default menu bar automatically
579579
//get current menu group
580-
if (MCmenubar != NULL)
580+
if (MCmenubar)
581581
newMenuGroup = MCmenubar;
582582
else
583583
newMenuGroup = MCdefaultmenubar;
@@ -927,7 +927,7 @@ void MCPlatformHandleMenuUpdate(MCPlatformMenuRef p_menu)
927927
MCRedrawLockScreen();
928928
s_menubar_lock_count += 1;
929929
// SN-2014-11-06: [[ Bug 13836 ]] MCmenubar (or MCdefaultmenubar) should get mouseDown, not the target (it gets menuPick)
930-
if (MCmenubar != nil)
930+
if (MCmenubar)
931931
MCmenubar -> message_with_valueref_args(MCM_mouse_down, MCSTR("1"));
932932
else if (MCdefaultmenubar)
933933
MCdefaultmenubar -> message_with_valueref_args(MCM_mouse_down, MCSTR("1"));

engine/src/exec-interface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3264,7 +3264,7 @@ MCControl* MCInterfaceExecCreateControlGetObject(MCExecContext& ctxt, int p_type
32643264
case CT_BUTTON:
32653265
return MCtemplatebutton;
32663266
case CT_MENU:
3267-
r_parent = MCmenubar != NULL ? MCmenubar : MCdefaultmenubar;
3267+
r_parent = MCmenubar ? MCmenubar : MCdefaultmenubar;
32683268
return MCtemplatebutton;
32693269
case CT_SCROLLBAR:
32703270
return MCtemplatescrollbar;

engine/src/exec-interface2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3041,7 +3041,7 @@ void MCInterfaceEvalGroupOfGroupByName(MCExecContext& ctxt, MCObjectPtr p_group,
30413041

30423042
void MCInterfaceEvalMenubarAsObject(MCExecContext& ctxt, MCObjectPtr& r_menubar)
30433043
{
3044-
if (MCmenubar != nil)
3044+
if (MCmenubar)
30453045
{
30463046
r_menubar . object = MCmenubar;
30473047
r_menubar . part_id = 0;

engine/src/exec-legacy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ void MCLegacySetStackFiles(MCExecContext& ctxt, MCStringRef p_value)
522522

523523
void MCLegacyGetMenuBar(MCExecContext& ctxt, MCStringRef& r_value)
524524
{
525-
if (MCmenubar == nil)
525+
if (!MCmenubar)
526526
r_value = (MCStringRef)MCValueRetain(kMCEmptyString);
527527
else
528528
MCmenubar -> getstringprop(ctxt, 0, P_LONG_NAME, False, r_value);

engine/src/globals.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,11 @@ MCObjectHandle MCerrorptr;
275275
MCObjectHandle MCerrorlockptr;
276276
MCObjectPtr MCtargetptr;
277277
MCGroup *MCsavegroupptr;
278-
MCGroup *MCmenubar;
279278
MCPlayer *MCplayers;
280279
MCAudioClip *MCacptr;
281280
MCObjectHandle MCmenuobjectptr;
282281
MCGroupHandle MCdefaultmenubar;
282+
MCGroupHandle MCmenubar;
283283

284284
MCStack *MCtemplatestack;
285285
MCAudioClip *MCtemplateaudio;

engine/src/globals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,12 +192,12 @@ extern MCObjectHandle MCmenuobjectptr;
192192
extern MCCardHandle MCdynamiccard;
193193
extern Boolean MCdynamicpath;
194194
extern MCGroup *MCsavegroupptr;
195-
extern MCGroup *MCmenubar;
196195
extern MCAudioClip *MCacptr;
197196
extern MCPlayer *MCplayers;
198197
extern MCObjectHandle MCerrorptr;
199198
extern MCObjectHandle MCerrorlockptr;
200199
extern MCGroupHandle MCdefaultmenubar;
200+
extern MCGroupHandle MCmenubar;
201201

202202
extern MCStack *MCtemplatestack;
203203
extern MCAudioClip *MCtemplateaudio;

engine/src/group.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ MCGroup::~MCGroup()
221221
}
222222
if (this == MCmenubar)
223223
{
224-
MCmenubar = NULL;
224+
MCmenubar = nil;
225225
MCscreen->updatemenubar(True);
226226
}
227227
if (this == MCdefaultmenubar)

engine/src/stack2.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -926,12 +926,16 @@ void MCStack::updatemenubar()
926926
{
927927
if (opened && state & CS_KFOCUSED && !MClockmenus)
928928
{
929-
if (!hasmenubar() || state & CS_EDIT_MENUS
930-
&& mode < WM_PULLDOWN && mode != WM_PALETTE
931-
|| gettool(this) != T_BROWSE && MCdefaultmenubar != NULL)
932-
MCmenubar = NULL;
929+
if (!hasmenubar() || (state & CS_EDIT_MENUS
930+
&& mode < WM_PULLDOWN && mode != WM_PALETTE)
931+
|| (gettool(this) != T_BROWSE && MCdefaultmenubar))
932+
{
933+
MCmenubar = nil;
934+
}
933935
else
934-
MCmenubar = (MCGroup *)getobjname(CT_GROUP, (getmenubar()));
936+
{
937+
MCmenubar = MCObjectCast<MCGroup>(getobjname(CT_GROUP, (getmenubar())));
938+
}
935939
MCscreen->updatemenubar(False);
936940
}
937941
}

engine/src/stacklst.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ Boolean MCStacklist::doaccelerator(KeySym p_key)
329329
// We fix these issues here...
330330

331331
MCGroup *t_menubar;
332-
if (MCmenubar != NULL)
332+
if (MCmenubar)
333333
t_menubar = MCmenubar;
334334
else
335335
t_menubar = MCdefaultmenubar;

engine/src/uidc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ void MCUIDC::updatemenubar(Boolean force)
10381038
MCdefaultmenubar = MCmenubar;
10391039

10401040
MCGroup *newMenuGroup;
1041-
if (MCmenubar != NULL)
1041+
if (MCmenubar)
10421042
newMenuGroup = MCmenubar;
10431043
else
10441044
newMenuGroup = MCdefaultmenubar;

0 commit comments

Comments
 (0)