Change in v6.10 behavior?

Post bugreports for the Mac OSX version here
mrbungle
Enthusiast
Enthusiast
Posts: 118
Joined: Wed Dec 30, 2020 3:18 am

Change in v6.10 behavior?

Post by mrbungle »

I was playing with the new 6.10 OS X release and notice that this code does not run properly (spinning cursor):
https://www.purebasic.fr/english/viewto ... 50#p426750

However, the same code runs fine on version 6.04. Was there a change?

Thank you
User avatar
mk-soft
Always Here
Always Here
Posts: 5409
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Change in v6.10 behavior?

Post by mk-soft »

Sometimes things change internally at PB.
The code must therefore be adapted.

Code: Select all

EnableExplicit

#NSSquareStatusBarItemLength = -2

Define ItemLength.CGFloat = 32
Define StatusBar.I
Define StatusItem.I

UsePNGImageDecoder()

OpenWindow(0, 270, 100, 300, 100, "SysTray Menu Example")

If LoadImage(0, #PB_Compiler_Home + "Examples/Sources/Data/World.png")
  StatusBar = CocoaMessage(0, 0, "NSStatusBar systemStatusBar")
 
  If StatusBar
    ; ----- Create icon in system status bar (SysTray)
    StatusItem = CocoaMessage(0, CocoaMessage(0, StatusBar,
      "statusItemWithLength:", #NSSquareStatusBarItemLength), "retain")

    If StatusItem
      CocoaMessage(0, StatusItem, "setLength:@", @ItemLength)
      CocoaMessage(0, StatusItem, "setImage:", ImageID(0))
     
      ; ----- Create menu with entries for click on SysTray icon
      CreatePopupMenu(0)
      MenuItem(0, "Show computer name")
      MenuItem(1, "Show user name")
      
      CompilerIf #PB_Compiler_Version < 610
        ; Old __NSArrayM of NSMenu
        ;CocoaMessage(0, StatusItem, "setMenu:", CocoaMessage(0, MenuID(0), "firstObject"))
      CompilerElse  
        ; Now direct
        CocoaMessage(0, StatusItem, "setMenu:", MenuID(0))
      CompilerEndIf
      
      Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            Break
          Case #PB_Event_Menu
            Select EventMenu()
              Case 0
                MessageRequester("Info", "Computer name: " + ComputerName())
              Case 1
                MessageRequester("Info", "User name: " + UserName())
            EndSelect
        EndSelect
      ForEver
    EndIf
  EndIf
EndIf
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
mrbungle
Enthusiast
Enthusiast
Posts: 118
Joined: Wed Dec 30, 2020 3:18 am

Re: Change in v6.10 behavior?

Post by mrbungle »

Understood. thank you for the guidance!
Post Reply