Skip to content

Commit 55c48dd

Browse files
Merge remote-tracking branch 'origin/develop-7.0' into merge-7.1.1_231015
Clean merge: all the conflicts were caused by the fact iOS 5.1 items have been removed in `develop` Conflicts: Makefile engine/kernel.gypi ide ide-support/revdeploylibraryios.livecodescript prebuilt/fetch-libraries.sh
2 parents a4eade5 + 7dc9b48 commit 55c48dd

File tree

14 files changed

+94
-95
lines changed

14 files changed

+94
-95
lines changed

Installer/package.txt

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -767,21 +767,21 @@ component Runtime.iOS
767767
file ios:iphonesimulator8.4/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
768768
file ios:iphonesimulator8.4/[email protected] as "Default4InchSplash.png" base ios:[email protected]
769769
file ios:iphonesimulator8.4/fontmap as "fontmap"
770-
into "[[ToolsFolder]]/Runtime/iOS/Simulator-9_0" place
771-
executable ios:iphonesimulator9.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphonesimulator8.2/standalone-mobile[[BaseEditionTagLower]].app/standalone-mobile[[BaseEditionTagLower]]
772-
executable ios:iphonesimulator9.0/revsecurity.ios-extension as RevSecurity base ios:iphonesimulator8.2/revsecurity.dylib
773-
executable ios:iphonesimulator9.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphonesimulator8.2/revpdfprinter.dylib
774-
executable ios:iphonesimulator9.0/revzip.ios-extension as RevZip base ios:iphonesimulator8.2/revzip.dylib
775-
executable ios:iphonesimulator9.0/revxml.ios-extension as RevXml base ios:iphonesimulator8.2/revxml.dylib
776-
executable ios:iphonesimulator9.0/revdb.ios-extension as RevDb base ios:iphonesimulator8.2/revdb.dylib
777-
executable ios:iphonesimulator9.0/dbsqlite.ios-extension as DbSqlite base ios:iphonesimulator8.2/dbsqlite.dylib
778-
executable ios:iphonesimulator9.0/dbmysql.ios-extension as DbMysql base ios:iphonesimulator8.2/dbmysql.dylib
779-
file ios:iphonesimulator9.0/mobile-template.plist as "Settings.plist"
780-
file ios:iphonesimulator9.0/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
781-
file ios:iphonesimulator9.0/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
782-
file ios:iphonesimulator9.0/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
783-
file ios:iphonesimulator9.0/[email protected] as "Default4InchSplash.png" base ios:[email protected]
784-
file ios:iphonesimulator9.0/fontmap as "fontmap"
770+
into "[[ToolsFolder]]/Runtime/iOS/Simulator-9_1" place
771+
executable ios:iphonesimulator9.1/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphonesimulator8.2/standalone-mobile[[BaseEditionTagLower]].app/standalone-mobile[[BaseEditionTagLower]]
772+
executable ios:iphonesimulator9.1/revsecurity.ios-extension as RevSecurity base ios:iphonesimulator8.2/revsecurity.dylib
773+
executable ios:iphonesimulator9.1/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphonesimulator8.2/revpdfprinter.dylib
774+
executable ios:iphonesimulator9.1/revzip.ios-extension as RevZip base ios:iphonesimulator8.2/revzip.dylib
775+
executable ios:iphonesimulator9.1/revxml.ios-extension as RevXml base ios:iphonesimulator8.2/revxml.dylib
776+
executable ios:iphonesimulator9.1/revdb.ios-extension as RevDb base ios:iphonesimulator8.2/revdb.dylib
777+
executable ios:iphonesimulator9.1/dbsqlite.ios-extension as DbSqlite base ios:iphonesimulator8.2/dbsqlite.dylib
778+
executable ios:iphonesimulator9.1/dbmysql.ios-extension as DbMysql base ios:iphonesimulator8.2/dbmysql.dylib
779+
file ios:iphonesimulator9.1/mobile-template.plist as "Settings.plist"
780+
file ios:iphonesimulator9.1/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
781+
file ios:iphonesimulator9.1/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
782+
file ios:iphonesimulator9.1/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
783+
file ios:iphonesimulator9.1/[email protected] as "Default4InchSplash.png" base ios:[email protected]
784+
file ios:iphonesimulator9.1/fontmap as "fontmap"
785785
into "[[ToolsFolder]]/Runtime/iOS/Device-8_2" place
786786
executable ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone
787787
executable ios:iphoneos8.2/revsecurity.ios-extension as RevSecurity
@@ -822,26 +822,26 @@ component Runtime.iOS
822822
file ios:iphoneos8.4/template-ResourceRules.plist as "ResourceRules.plist"
823823
file ios:iphoneos8.4/[email protected] as "Default4InchSplash.png" base ios:[email protected]
824824
file ios:iphoneos8.4/fontmap as "fontmap"
825-
into "[[ToolsFolder]]/Runtime/iOS/Device-9_0" place
826-
executable ios:iphoneos9.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].lcext
827-
executable ios:iphoneos9.0/revsecurity.ios-extension as RevSecurity base ios:iphoneos8.2/revsecurity.lcext
828-
executable ios:iphoneos9.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos8.2/revpdfprinter.lcext
829-
executable ios:iphoneos9.0/revzip.ios-extension as RevZip base ios:iphoneos8.2/revzip.lcext
830-
executable ios:iphoneos9.0/revxml.ios-extension as RevXml base ios:iphoneos8.2/revxml.lcext
831-
executable ios:iphoneos9.0/revdb.ios-extension as RevDb base ios:iphoneos8.2/revdb.lcext
832-
executable ios:iphoneos9.0/dbsqlite.ios-extension as DbSqlite base ios:iphoneos8.2/dbsqlite.lcext
833-
executable ios:iphoneos9.0/dbmysql.ios-extension as DbMysql base ios:iphoneos8.2/dbmysql.lcext
834-
file ios:iphoneos9.0/mobile-device-template.plist as "Settings.plist"
835-
file ios:iphoneos9.0/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
836-
file ios:iphoneos9.0/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
837-
file ios:iphoneos9.0/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
838-
file ios:iphoneos9.0/template-entitlements.xcent as "Entitlements.xcent"
839-
file ios:iphoneos9.0/template-store-entitlements.xcent as "StoreEntitlements.xcent"
840-
file ios:iphoneos9.0/template-remote-notification-entitlements.xcent as "RemoteNotificationEntitlements.xcent"
841-
file ios:iphoneos9.0/template-remote-notification-store-entitlements.xcent as "RemoteNotificationStoreEntitlements.xcent"
842-
file ios:iphoneos9.0/template-ResourceRules.plist as "ResourceRules.plist"
843-
file ios:iphoneos9.0/[email protected] as "Default4InchSplash.png" base ios:[email protected]
844-
file ios:iphoneos9.0/fontmap as "fontmap"
825+
into "[[ToolsFolder]]/Runtime/iOS/Device-9_1" place
826+
executable ios:iphoneos9.1/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos8.2/standalone-mobile[[BaseEditionTagLower]].lcext
827+
executable ios:iphoneos9.1/revsecurity.ios-extension as RevSecurity base ios:iphoneos8.2/revsecurity.lcext
828+
executable ios:iphoneos9.1/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos8.2/revpdfprinter.lcext
829+
executable ios:iphoneos9.1/revzip.ios-extension as RevZip base ios:iphoneos8.2/revzip.lcext
830+
executable ios:iphoneos9.1/revxml.ios-extension as RevXml base ios:iphoneos8.2/revxml.lcext
831+
executable ios:iphoneos9.1/revdb.ios-extension as RevDb base ios:iphoneos8.2/revdb.lcext
832+
executable ios:iphoneos9.1/dbsqlite.ios-extension as DbSqlite base ios:iphoneos8.2/dbsqlite.lcext
833+
executable ios:iphoneos9.1/dbmysql.ios-extension as DbMysql base ios:iphoneos8.2/dbmysql.lcext
834+
file ios:iphoneos9.1/mobile-device-template.plist as "Settings.plist"
835+
file ios:iphoneos9.1/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
836+
file ios:iphoneos9.1/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
837+
file ios:iphoneos9.1/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
838+
file ios:iphoneos9.1/template-entitlements.xcent as "Entitlements.xcent"
839+
file ios:iphoneos9.1/template-store-entitlements.xcent as "StoreEntitlements.xcent"
840+
file ios:iphoneos9.1/template-remote-notification-entitlements.xcent as "RemoteNotificationEntitlements.xcent"
841+
file ios:iphoneos9.1/template-remote-notification-store-entitlements.xcent as "RemoteNotificationStoreEntitlements.xcent"
842+
file ios:iphoneos9.1/template-ResourceRules.plist as "ResourceRules.plist"
843+
file ios:iphoneos9.1/[email protected] as "Default4InchSplash.png" base ios:[email protected]
844+
file ios:iphoneos9.1/fontmap as "fontmap"
845845

846846
////////////////////////////////////////////////////////////////////////////////
847847

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ EMMAKE ?= emmake
2525

2626
# Some magic to control which versions of iOS we try to build. N.b. you may
2727
# also need to modify the buildbot configuration
28-
IPHONEOS_VERSIONS ?= 8.2 8.4 9.0
29-
IPHONESIMULATOR_VERSIONS ?= 6.1 7.1 8.2 8.4 9.0
28+
IPHONEOS_VERSIONS ?= 8.2 8.4 9.1
29+
IPHONESIMULATOR_VERSIONS ?= 6.1 7.1 8.2 8.4 9.1
3030

3131
IOS_SDKS ?= \
3232
$(addprefix iphoneos,$(IPHONEOS_VERSIONS)) \

docs/notes/bugfix-15208.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/notes/bugfix-16257.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# When switching between windows on Mac, the unfocused window can still appear to be focused.

docs/notes/bugfix-16258.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Remove unneeded load-time dependence on QTKit.

engine/kernel.gyp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@
145145
'$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
146146
'$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
147147
'$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
148-
'$(SDKROOT)/System/Library/Frameworks/QTKit.framework',
149148
'$(SDKROOT)/System/Library/Frameworks/Quartz.framework',
150149
],
151150
},

engine/src/java/com/runrev/android/nativecontrol/ExtVideoView.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,10 @@ private void attachMediaController() {
328328
(View)this.getParent() : this;
329329
mMediaController.setAnchorView(anchorView);
330330
mMediaController.setEnabled(isInPlaybackState());
331+
332+
// PM-2015-10-19: [[ Bug 16027 ]] Make sure the controller shows/hides when changing its visibility on demand
333+
if (isInPlaybackState())
334+
mMediaController.show(0);
331335
}
332336
}
333337

@@ -369,7 +373,13 @@ public void onPrepared(MediaPlayer mp) {
369373
}
370374
if (mMediaController != null) {
371375
mMediaController.setEnabled(true);
376+
377+
// PM-2015-10-19: [[ Bug 16027 ]] Show the controller once the player is prepared (as on iOS)
378+
if (isInPlaybackState()){
379+
mMediaController.show(0);
380+
}
372381
}
382+
373383
mVideoWidth = mp.getVideoWidth();
374384
mVideoHeight = mp.getVideoHeight();
375385

@@ -390,10 +400,6 @@ public void onPrepared(MediaPlayer mp) {
390400
// start the video here instead of in the callback.
391401
if (mTargetState == STATE_PLAYING) {
392402
start();
393-
if (mMediaController != null) {
394-
// PM-2015-10-08: [[ Bug 16027 ]] Make sure the controller does not disappear after some ms of inactivity
395-
mMediaController.show(0);
396-
}
397403
} else if (!isPlaying() &&
398404
(seekToPosition != 0 || getCurrentPosition() > 0)) {
399405
if (mMediaController != null) {
@@ -407,10 +413,6 @@ public void onPrepared(MediaPlayer mp) {
407413
// The video size might be reported to us later.
408414
if (mTargetState == STATE_PLAYING) {
409415
start();
410-
// show the controller when starting playing a remote video
411-
if (mMediaController != null) {
412-
mMediaController.show(0);
413-
}
414416
}
415417
}
416418
}
@@ -542,10 +544,7 @@ public void surfaceChanged(SurfaceHolder holder, int format,
542544
seekTo(mSeekWhenPrepared);
543545
}
544546
start();
545-
if (mMediaController != null) {
546-
mMediaController.show(0);
547-
}
548-
}
547+
}
549548
}
550549

551550
public void surfaceCreated(SurfaceHolder holder)
@@ -626,7 +625,7 @@ public boolean onKeyDown(int keyCode, KeyEvent event)
626625
keyCode == KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE) {
627626
if (mMediaPlayer.isPlaying()) {
628627
pause();
629-
mMediaController.show(0);
628+
mMediaController.show(0);
630629
} else {
631630
start();
632631
mMediaController.hide();
@@ -635,7 +634,7 @@ public boolean onKeyDown(int keyCode, KeyEvent event)
635634
} else if (keyCode == KeyEvent.KEYCODE_MEDIA_STOP
636635
&& mMediaPlayer.isPlaying()) {
637636
pause();
638-
mMediaController.show(0);
637+
mMediaController.show(0);
639638
} else {
640639
toggleMediaControlsVisiblity();
641640
}
@@ -659,6 +658,12 @@ public void start() {
659658
mCurrentState = STATE_PLAYING;
660659
}
661660
mTargetState = STATE_PLAYING;
661+
662+
// PM-2015-10-19: [[ Bug 16027 ]] Show the controller here, to make sure it is enabled even if
663+
// mobileControlDo sPlayerId, "play" is called from a callback message
664+
if (mMediaController != null) {
665+
mMediaController.show(0);
666+
}
662667
}
663668

664669
public void stop() {

engine/src/java/com/runrev/android/nativecontrol/VideoControl.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import android.view.*;
2424
import android.widget.*;
2525

26+
2627
import java.io.*;
2728

2829
public class VideoControl extends NativeControl
@@ -43,7 +44,15 @@ public View createView(Context context)
4344
{
4445
m_video_view = new ExtVideoView(context);
4546

46-
m_video_controller = new MediaController(context);
47+
m_video_controller = new MediaController(context){
48+
// PM-2015-10-19: [[ Bug 16027 ]] Make sure the controller does not disappear every
49+
// time a control (i.e. Pause button) is clicked. This happened because when touching
50+
// the controls, MediaController called show(sDefaultTimeout);
51+
@Override
52+
public void show(int timeout) {
53+
super.show(0);
54+
}
55+
};
4756
m_video_view.setMediaController(m_video_controller);
4857

4958
setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

engine/src/mac-internal.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -473,9 +473,8 @@ class MCMacPlatformWindow: public MCPlatformWindow
473473
void ProcessWillMiniaturize(void);
474474
void ProcessDidMiniaturize(void);
475475
void ProcessDidDeminiaturize(void);
476-
// SN-2015-05-20: [[ Bug 15208 ]] Renamed to better reflect the functions action
477-
void ProcessGainedMainFocus(void);
478-
void ProcessLostMainFocus(void);
476+
void ProcessDidBecomeKey(void);
477+
void ProcessDidResignKey(void);
479478

480479
void ProcessMouseMove(NSPoint location);
481480
void ProcessMousePress(NSInteger button, bool is_down);
@@ -548,7 +547,7 @@ class MCMacPlatformWindow: public MCPlatformWindow
548547
bool m_has_sheet : 1;
549548

550549
// When the frame is locked, any changes to the window rect will be prevented.
551-
bool m_frame_locked : 1;
550+
bool m_frame_locked : 1;
552551
};
553552

554553
// A window might map to one of several different classes, so we use a

engine/src/mac-window.mm

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -459,42 +459,29 @@ - (void)windowDidDeminiaturize:(NSNotification *)notification
459459
}
460460

461461
// MW-2014-07-22: [[ Bug 12720 ]] Mark the period we are inside a focus event handler.
462-
// SN-2015-05-20: [[ Bug 15208 ]] Renamed to better reflect the functions action
463462
- (void)windowDidBecomeKey:(NSNotification *)notification
464463
{
465464
if (s_inside_focus_event)
466-
m_window -> ProcessGainedMainFocus();
465+
m_window -> ProcessDidBecomeKey();
467466
else
468467
{
469468
s_inside_focus_event = true;
470-
m_window -> ProcessGainedMainFocus();
469+
m_window -> ProcessDidBecomeKey();
471470
s_inside_focus_event = false;
472471
}
473472
}
474473

475474
// MW-2014-07-22: [[ Bug 12720 ]] Mark the period we are inside a focus event handler.
476-
// SN-2015-05-20: [[ Bug 15208 ]] If we are not the KeyWindow, we can still be
477-
// the MainWindow, and in that case we keep the focus.
478475
- (void)windowDidResignKey:(NSNotification *)notification
479476
{
480-
}
481-
482-
// SN-2015-05-20: [[ Bug 15208 ]] A main window is not necessarily the key window
483-
// (see https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html)
484-
// We do no want to unfocus the active field if a utility window (such as Color
485-
// Picker or Character Viewer) is opened, or that can lead to a crash since we
486-
// might want to insert text in this field (it is not properly speaking unfocusing).
487-
// That leads to a not-so-nice blinking cursor on the message box when using
488-
// answer color
489-
// but there might not be any other option to avoid the Character Viewer crash.
490-
- (void)windowDidBecomeMain:(NSNotification *)notification
491-
{
492-
m_window -> ProcessGainedMainFocus();
493-
}
494-
495-
- (void)windowDidResignMain:(NSNotification *)notification
496-
{
497-
m_window -> ProcessLostMainFocus();
477+
if (s_inside_focus_event)
478+
m_window -> ProcessDidResignKey();
479+
else
480+
{
481+
s_inside_focus_event = true;
482+
m_window -> ProcessDidResignKey();
483+
s_inside_focus_event = false;
484+
}
498485
}
499486

500487
- (void)windowDidChangeBackingProperties:(NSNotification *)notification
@@ -1775,13 +1762,12 @@ - (void)setFrameSize: (NSSize)size
17751762
HandleUniconify();
17761763
}
17771764

1778-
// SN-2015-05-20: [[ Bug 15208 ]] Renamed to better reflect the functions action
1779-
void MCMacPlatformWindow::ProcessGainedMainFocus(void)
1765+
void MCMacPlatformWindow::ProcessDidBecomeKey(void)
17801766
{
1781-
HandleFocus();
1767+
HandleFocus();
17821768
}
17831769

1784-
void MCMacPlatformWindow::ProcessLostMainFocus(void)
1770+
void MCMacPlatformWindow::ProcessDidResignKey(void)
17851771
{
17861772
HandleUnfocus();
17871773
}

0 commit comments

Comments
 (0)