Skip to content

Commit 0e536d6

Browse files
Merge remote-tracking branch 'origin/develop-6.7' into merge_6.7.5-rc-1
Conflicts: engine/src/desktop.cpp engine/src/mbliphoneextra.mm engine/src/object.h engine/src/player-platform.h ide
2 parents cb9d183 + 424c091 commit 0e536d6

18 files changed

+85
-16
lines changed

docs/notes/bugfix-12106.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# $0 is the first argument, not the script name (LC server)

docs/notes/bugfix-14205.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Crash when using dictation

docs/notes/bugfix-14333.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# mobileClearTouches clears touches after a mouseDown handler has completed

docs/notes/bugfix-14921.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Player becomes unresponsive when changing cards in a background

docs/notes/bugfix-14972.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Hard crash on iOS during startup

engine/rsrc/Revolution-Info.plist

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<array>
1212
<string>rev</string>
1313
<string>livecode</string>
14+
<string>livecodescript</string>
1415
</array>
1516
<key>CFBundleTypeIconFile</key>
1617
<string>LiveCodeDoc.icns</string>
@@ -111,6 +112,25 @@
111112
</array>
112113
</dict>
113114
</dict>
115+
<dict>
116+
<key>UTTypeConformsTo</key>
117+
<array>
118+
<string>public.data</string>
119+
</array>
120+
<key>UTTypeDescription</key>
121+
<string>LiveCode Stack</string>
122+
<key>UTTypeIdentifier</key>
123+
<string>com.runrev.livecode.stack</string>
124+
<key>UTTypeTagSpecification</key>
125+
<dict>
126+
<key>com.apple.macos.ostype</key>
127+
<string>RSTK</string>
128+
<key>public.filename-extension</key>
129+
<array>
130+
<string>livecodescript</string>
131+
</array>
132+
</dict>
133+
</dict>
114134
</array>
115135
<key>NSHighResolutionCapable</key>
116136
<true/>

engine/src/desktop.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,9 @@ void MCPlatformHandleTextInputInsertText(MCPlatformWindowRef p_window, unichar_t
913913
// this wrong key is replaced by this new 'combined' char
914914
// if the key pressed fails to generate a char:
915915
// this wrong key is replaced by the dead-key char
916-
if (t_was_compositing)
916+
// SN-2015-04-10: [[ Bug 14205 ]] When using the dictation, there is no
917+
// pending key down, but the composition was still on though.
918+
if (t_was_compositing && s_pending_key_down)
917919
{
918920
s_pending_key_down -> key_code = (uint1)*p_chars;
919921
s_pending_key_down -> mapped_codepoint = (uint1)*p_chars;
@@ -937,7 +939,9 @@ void MCPlatformHandleTextInputInsertText(MCPlatformWindowRef p_window, unichar_t
937939
// SN-2015-01-20: [[ Bug 14406 ]] If we have a series of pending keys, we have two possibilities:
938940
// - typing IME characters: the characters are native, so we use the finsertnew
939941
// - typing dead characters: the character, if we arrive here, is > 127
940-
if (*p_chars > 127 && s_pending_key_down -> next && MCUnicodeMapToNative(p_chars, 1, t_char[0]))
942+
// SN-2015-04-13: [[ Bug 14205 ]] Ensure that s_pending_key_down is not nil
943+
if (*p_chars > 127 && s_pending_key_down && s_pending_key_down -> next
944+
&& MCUnicodeMapToNative(p_chars, 1, t_char[0]))
941945
{
942946
MCStringCreateWithNativeChars((const char_t *)t_char, 1, &t_string);
943947
MCdispatcher -> wkdown(p_window, *t_string, *t_char);

engine/src/exec-misc.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ void MCMiscExecClearTouches(MCExecContext& ctxt)
313313
MCscreen -> wait(1/25.0, False, False);
314314
static_cast<MCScreenDC *>(MCscreen) -> clear_touches();
315315
MCEventQueueClearTouches();
316+
317+
// PM-2015-03-16: [[ Bug 14333 ]] Make sure the object that triggered a mouse down msg is not focused, as this stops later mouse downs from working
318+
if (MCtargetptr != nil)
319+
MCtargetptr -> munfocus();
316320
}
317321

318322
void MCMiscGetSystemIdentifier(MCExecContext& ctxt, MCStringRef& r_identifier)

engine/src/image_rep_mutable.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1945,12 +1945,14 @@ void MCMutableImageRep::image_undo(Ustruct *us)
19451945

19461946
// PM-2014-10-01: [[ Bug 13568 ]] Make sure that pressing undo (cmd+z) twice when using paint tools, the second undo undoes the first one.
19471947
MCImageBitmap *t_old_bitmap;
1948+
t_old_bitmap = nil;
19481949
MCImageCopyBitmap(m_bitmap, t_old_bitmap);
19491950

19501951
MCImageFreeBitmap(m_bitmap);
19511952
m_bitmap = m_undo_image;
19521953
m_undo_image = nil;
19531954
/* UNCHECKED */ MCImageCopyBitmap(t_old_bitmap, m_undo_image);
1955+
MCImageFreeBitmap(t_old_bitmap);
19541956

19551957
// MW-2011-08-18: [[ Layers ]] Invalidate the whole object.
19561958
m_owner->invalidate_rep(rect);

engine/src/mblandroidmisc.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,6 +1142,11 @@ static Exec_stat MCHandleClearTouches(void *context, MCParameter *p_parameters)
11421142
MCscreen -> wait(1/25.0, False, False);
11431143
static_cast<MCScreenDC *>(MCscreen) -> clear_touches();
11441144
MCEventQueueClearTouches();
1145+
1146+
// PM-2015-03-16: [[ Bug 14333 ]] Make sure the object that triggered a mouse down msg is not focused, as this stops later mouse downs from working
1147+
if (MCtargetptr != nil)
1148+
MCtargetptr -> munfocus();
1149+
11451150
return ES_NORMAL;
11461151
}
11471152
#endif /* MCHandleClearTouchesAndroid */

0 commit comments

Comments
 (0)