After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 776602 - Mouse pointer points with rear end rather than tip of arrow (Mac OS Sierra 10.12.2)
Mouse pointer points with rear end rather than tip of arrow (Mac OS Sierra 10...
Status: RESOLVED OBSOLETE
Product: GnuCash
Classification: Other
Component: User Interface General
2.6.15
Other Mac OS
: Normal normal
: ---
Assigned To: gnucash-ui-maint
gnucash-ui-maint
Depends on:
Blocks:
 
 
Reported: 2016-12-29 23:03 UTC by Jo Wetzig
Modified: 2018-06-29 23:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jo Wetzig 2016-12-29 23:03:47 UTC
Versions 2.6.12 and 2.6.15: Mouse pointer focus seems to be on the rear end, i. e. the stem, of the arrow rather than the tip.

(Mac OS Sierra 10.12.2 on MacBook Pro Retina Mid 2012)

Vers. 2.6.12 under Mac OS El Capitan 10.11.6 on a Mac Mini Mid 2011 correctly focusses with the tip of the arrow.
Comment 1 John Ralls 2016-12-29 23:27:15 UTC
Not on either my late 2013 MacPro running 10.12.1 nor my late 2010 MacBook Air running 10.12.2.

I tested by moving the pointer over a tool bar button and observing the button "lighting up". How are you finding the pointer's "point"?
Comment 2 Jo Wetzig 2017-01-01 00:05:36 UTC
Visual observation ;) when trying to hit the small triangles to expand nested accounts. They do not "light up" when the point of the pointer is over the triangle, but only when the rear end is over them; but it appears it might be slightly off. Consider the pointer as a rectangle area with the arrow's point on the upper left corner and the stem somewhere in the lower right, then the active location may be somewhere towards  the mid of the lower side of the rectangle. I haven't taken to a loupe and counted pixels so far, though. Too hard on the eyes on a retina display...

First seen when trying to import transactions and going thru the windows cascade necessary for that.


UPDATE: This may be a Gnome-Mac interaction.

On further diddling: GnuCash Windows initially do seem to not open fully. 
The sliders and/or buttons on the lower and/or right rim of the windows are not or only partially visible (missed that). At this time the mouse is also "off target".
When I resize the windows by grabbing the lower right corner they "pop" to correct aspect and show the slides which initially are missing. Once they have popped, the mouse pointer works as expected.

Go figure.

Happy new year!

J W
Comment 3 John Ralls 2017-01-01 00:55:10 UTC
I think it's probably a Retina problem. I'm afraid there's not alot I can do about that.
Comment 4 Jay 2017-05-16 20:57:25 UTC
Gnucash Version 2.6.16 is installed on my Mac (macOS Sierra 10.12.4)—and is exhibiting similar—though not identical—behavior as described by the original poster (OP).

When I launch Gnucash, all mouse clicks are off, though they do not align with the rear end of the pointer as for the OP. Clicks seem to be a full pointer lower than the tip of the pointer yet in vertical alignment with it.

I have found a couple work-arounds:

1) Enter Full Screen mode. After doing so, the effective click is re-centered to the tip of the pointer.

2) Maximize the window. Similar resolution as with Full Screen Mode.

Unfortunately, each of these work-arounds is window-specific, so each and every other window, tab, or dialog box suffers from the same issue until one of the work-arounds is used.

This bug is truly annoying.
Comment 5 Jay 2017-05-16 20:59:17 UTC
I forgot the other work-around:

3) As Jo also described, after simply resizing a window, the issue goes away for that window.
Comment 6 John Ralls 2017-06-25 03:45:35 UTC
I just tested on my new-to-me mid-2014 13" MBP Retina and MacOS 10.13 Beta. Everything, including the pointer behaves exactly as it should. 

Perhaps you guys have something interfering? Try creating a new user on each machine and running GnuCash as that user. Also try rebooting and running GnuCash in "Safe Mode".
Comment 7 Jay 2017-06-25 05:05:44 UTC
The cursor worked as expected when using Gnucash with a newly created, standard user account and even works with the Guest User account! I tried closing out of windowed processes and known, active background applications to no avail with my normal account. How can the interference be isolated to the problematic process?

By the way, I didn’t try the second suggestion because, well, I don’t know how to run Gnucash in safe mode, despite searching the web and the documentation for that, and the issue seems to not be present with another new user account, so that seems like to trail to follow.

Thanks for taking a look at this.

(In reply to John Ralls from comment #6)
> I just tested on my new-to-me mid-2014 13" MBP Retina and MacOS 10.13 Beta.
> Everything, including the pointer behaves exactly as it should. 
> 
> Perhaps you guys have something interfering? Try creating a new user on each
> machine and running GnuCash as that user. Also try rebooting and running
> GnuCash in "Safe Mode".
Comment 8 John Ralls 2017-06-25 14:00:08 UTC
Not GnuCash in safe mode, MacOS in safe mode. Reboot and hold down the shift key after the gong. But yes, the fact that it runs OK in a clean user account means that the problem is with your account rather than your Mac so safe mode isn't necessary.

Do you have a .gtkrc-2.0 file in your home directory, or perhaps .config/gtkrc-2.0? Are you running any other Gtk-based software?
Comment 9 Jay 2017-06-25 16:42:31 UTC
Okay, yeah, I’ve booted the OS to Safe Mode before, but that’s moot.

I looked and didn’t find a .gtkrc-2.0 file in my home directory nor a .config/gtkrc-2.0 one. There is a .config file though.

As for other Gtk-based software, I don’t know but do like and use OpenSource. Without running a full list, here’s some installed software that comes to mind:

Audacity
Flux
GIMP
Komodo Edit
LibreOffice
Max
Opera
QGIS
R
Tag
Vivaldi
VLC

Not sure whether that helps. Let me know what I can provide to isolate the rogue element.

(In reply to John Ralls from comment #8)
> Not GnuCash in safe mode, MacOS in safe mode. Reboot and hold down the shift
> key after the gong. But yes, the fact that it runs OK in a clean user
> account means that the problem is with your account rather than your Mac so
> safe mode isn't necessary.
> 
> Do you have a .gtkrc-2.0 file in your home directory, or perhaps
> .config/gtkrc-2.0? Are you running any other Gtk-based software?
Comment 10 John Ralls 2017-06-25 19:36:12 UTC
Audacity uses wxWidgetes, I don't know what Flux is, The GIMP is definitely Gtk-based--or maybe the other way around, since Gtk began as "The GIMP Tool Kit". Komodo Edit is built on top of Mozilla. LibreOffice has their own toolkit. Max is native. Opera isn't actually open source, just free--though they do use the open source WebKit for their backend just like Safari and Chrome. QGIS uses Qt. R by itself doesn't have a GUI at all. If Vivaldi is the browser it's also free but not open source. VLC appears to be native.

The only candidate there is GIMP. How is it installed?
Comment 11 Jay 2017-06-25 20:13:03 UTC
I don’t recall how it was installed as it’s been a while since I did so; I believe that it was from a standard installer though. In any case, I did just trash it and deleted it from the Trash, but the issue persists. I may need to start with a fresh account and do a migration, if it’s too difficult to trace the source of the window offsetting. Let me know what you advise.(In reply to John Ralls from comment #10)
> Audacity uses wxWidgetes, I don't know what Flux is, The GIMP is definitely
> Gtk-based--or maybe the other way around, since Gtk began as "The GIMP Tool
> Kit". Komodo Edit is built on top of Mozilla. LibreOffice has their own
> toolkit. Max is native. Opera isn't actually open source, just free--though
> they do use the open source WebKit for their backend just like Safari and
> Chrome. QGIS uses Qt. R by itself doesn't have a GUI at all. If Vivaldi is
> the browser it's also free but not open source. VLC appears to be native.
> 
> The only candidate there is GIMP. How is it installed?
Comment 12 John Ralls 2017-06-25 22:03:33 UTC
If it was /Applications/Gimp.app then it probably isn't the problem. Any problem would come from something like Homebrew or MacPorts that pollutes the user's environment so that GnuCash loads the wrong library somehow.

Is that $HOME/.config a file or a directory? If the latter, what's in it?
Comment 13 Jay 2017-06-25 22:16:54 UTC
Directory.

Curiously, it does contain a gtk-2.0 directory, so you may be on to something. Here’s some more folder and file listing information: 

% cd .config 
% ls -la    
drwxr-xr-x   4 jaykvam  staff   136 Feb 19 15:15 .
drwxr-xr-x+ 30 jaykvam  staff  1020 Jun 23 08:29 ..
drwxr-xr-x   3 jaykvam  staff   102 Aug  5  2016 .mono
drwx------   3 jaykvam  staff   102 Jun 21 01:49 gtk-2.0
% ls -la .mono 
drwxr-xr-x  3 jaykvam  staff  102 Aug  5  2016 .
drwxr-xr-x  4 jaykvam  staff  136 Feb 19 15:15 ..
drwxr-xr-x  4 jaykvam  staff  136 Aug  5  2016 certs
% ls -la .mono/certs 
drwxr-xr-x  4 jaykvam  staff  136 Aug  5  2016 .
drwxr-xr-x  3 jaykvam  staff  102 Aug  5  2016 ..
drwxr-xr-x  2 jaykvam  staff   68 Aug  5  2016 CA
drwxr-xr-x  2 jaykvam  staff   68 Aug  5  2016 Trust
% ls -la .mono/certs/CA 
drwxr-xr-x  2 jaykvam  staff   68 Aug  5  2016 .
drwxr-xr-x  4 jaykvam  staff  136 Aug  5  2016 ..
% ls -la .mono/certs/Trust 
drwxr-xr-x  2 jaykvam  staff   68 Aug  5  2016 .
drwxr-xr-x  4 jaykvam  staff  136 Aug  5  2016 ..
% ls -la gtk-2.0          
total 8
drwx------  3 jaykvam  staff  102 Jun 21 01:49 .
drwxr-xr-x  4 jaykvam  staff  136 Feb 19 15:15 ..
-rw-r--r--  1 jaykvam  staff  198 Jun 21 01:49 gtkfilechooser.ini

(In reply to John Ralls from comment #12)
> If it was /Applications/Gimp.app then it probably isn't the problem. Any
> problem would come from something like Homebrew or MacPorts that pollutes
> the user's environment so that GnuCash loads the wrong library somehow.
> 
> Is that $HOME/.config a file or a directory? If the latter, what's in it?
Comment 14 Jay 2017-06-25 22:19:21 UTC
Here’s a VIM read-out of the gtkfilechooser.ini file:

% vim gtk-2.0/gtkfilechooser.ini

[Filechooser Settings]
LocationMode=path-bar
ShowHidden=false
ShowSizeColumn=true
GeometryX=-1
GeometryY=-1
GeometryWidth=-1
GeometryHeight=-1
SortColumn=name
SortOrder=ascending
StartupMode=recent
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"gtk-2.0/gtkfilechooser.ini" 11L, 198C
Comment 15 John Ralls 2017-06-26 03:32:41 UTC
Well, you had my hopes up with ~/.config/gtk-2.0, but if all it's got is gtkfilechooser.ini that ain't the problem.

I guess there's one last thing to try, though I can't imagine why it would work. Try stopping GnuCash, renaming ~/Library/Application Support/gnucash, and restarting GnuCash. If that doesn't do it I'm out of ideas.
Comment 16 Jay 2017-06-26 03:59:26 UTC
Regrettably, that didn’t work.

Well, even if we weren’t able to identify the source of the problem, I believe that we, at least, discovered that the problem is quite likely due to something with one’s account profile due possibly to the installation of a competing application or application configuration files. Even if the creation of a new account requires some effort, it’s a resolution.

I really appreciate your help with this. It should serve as a guide to others who have encountered or may encounter the issue.

(In reply to John Ralls from comment #15)
> Well, you had my hopes up with ~/.config/gtk-2.0, but if all it's got is
> gtkfilechooser.ini that ain't the problem.
> 
> I guess there's one last thing to try, though I can't imagine why it would
> work. Try stopping GnuCash, renaming ~/Library/Application Support/gnucash,
> and restarting GnuCash. If that doesn't do it I'm out of ideas.
Comment 17 Jo Wetzig 2017-06-26 05:38:43 UTC
Greetings,

I have good news and bad news:

Good news: the bug has disappeared for me now that I run OS Sierra 10.12.5.

Bad News: I did NOT catch the exact moment it went away -- I've been moving and using GnuCash more or less on and off, went thru two OS updates and did a OS reinstall for other reasons.

Sorry to be no help in pointing to a cause :((

Jo Wetzig
Comment 18 Geir Helleloid 2017-07-12 14:24:59 UTC
Last week I installed macOS Sierra 10.12.5 and GnuCash 2.6.17 from scratch on a late-2011 17-inch MacBook Pro. Right away, I started experiencing the same (or a similar) problem as previous posters. However, I think I can be a little more specific about when it occurs (at least in my case). 

The problem occurs if and only if there are multiple tabs open. Here, I am referring to the tab bar ABOVE the Save/Close/etc. buttons; I am NOT referring to the tab bar BELOW the Save/Close/etc. buttons. The tab bar I am referring to is only present when there are multiple tabs, e.g., my accounts tab and the GnuCash Preferences tab.

In that case, if the mouse pointer is located anywhere below that tab bar, the mouse pointer (tip) appears on screen above where the mouse hovers/clicks are recorded. It appears that when a mouse click occurs, the mouse click is registered on the component that would be under the mouse pointer (tip) IF the tab bar were not present. (A corollary is that the mouse clicks are "off" vertically by exactly the height of the tab bar.)

I am happy to provide any further information that would be useful.
Comment 19 John Ralls 2017-07-13 00:26:23 UTC
How do you get tabs above the toolbar instead of a separate window for Preferences?
Comment 20 Geir Helleloid 2017-07-13 00:50:04 UTC
I wish I knew how to get a separate window for Preferences :) Getting tabs above the toolbar was the default (and, AFAIK, the only) option for me.

I can force the tab bar to be present even when there is just one tab by selecting View -> Show Tab Bar. Again, when the tab bar is present, the bug is present.

When the tab bar is showing multiple tabs, I can switch between them via Windows -> Show Previous Tab and Windows -> Show Next Tab.

The presence of these menu options tells me that the tab bar isn't just some quirk of my setup (like macOS Sierra magically converting windows into tabs); the tab bar is a genuine, intentional part of GnuCash. I couldn't find an option to use separate windows instead of a tab bar.
Comment 21 Geir Helleloid 2017-07-13 01:18:47 UTC
This page (https://www.imore.com/how-use-tabs-apps-macos) explains at a very basic level that macOS Sierra "helpfully" gives apps a tab bar. 

Following a suggestion on that page, after open Preferences in a separate tab, I successfully used the Windows -> Move Tab to New Window menu item to move the Preferences tab to a new window. At this point, neither window had a tab bar and mouse clicks worked as desired in both windows. So that is my workaround for now: if something opens in a new tab, use Windows -> Move Tab to New Window to move it.

I apologize for asserting in my previous comment that the tab bar was part of Gnucash; I had no idea macOS Sierra would magically do something as invasive to an application as this. I didn't search around for a more technical description of how macOS Sierra does this and how applications can reject the tab bar functionality, but perhaps I will try to do so tomorrow.
Comment 22 John Ralls 2017-07-13 03:00:12 UTC
Indeed, I'd never heard of the tab bar functions in Sierra either. It must have been explained in one of the WWDC videos I didn't find time to watch last year.

On that same page there's an explanation of how to stuff the windows into tabs and I did that to see if I could replicate the bug (I'm testing on my Macbook Pro late 2014 that has a retina screen). Putting it *in* tabs didn't have an effect, but taking it back out did. The pointer focus point seems to be a couple dozen pixels *above* where the cursor is drawn. Restarting GnuCash returns the cursor behavior to normal.

This, BTW, is on 10.13 Developer's Preview rev 3. 

Jay and Jo, does this tab "feature" figure at all into your experience?
Comment 23 Geir Helleloid 2017-07-13 11:27:23 UTC
It turns out that in System Preferences -> Dock, I had "Prefer tabs when opening documents" set to "Always" (this is not the default; I am appropriately embarrassed that I had changed it without realizing the impact). After changing it to "Manually", GnuCash now opens Preferences and other panels in new windows instead of new tabs. So that "solves" the issue for me (I am not aware of any other macOS applications where I want/need tabs instead of windows). If this was not the source of the problem for the other reporters, I apologize for hijacking this thread.

If it's of any interest, this Firefox bug report and associated diff (https://bugzilla.mozilla.org/show_bug.cgi?id=1280546) show the few lines of code added to Firefox to disable macOS Sierra window tabs. I'm not sure how that would translate to the GnuCash (or GTK-OSX?) code.
Comment 24 John Ralls 2017-07-13 14:35:45 UTC
Thanks. What an odd place to stick that option. App window behavior isn't something I associate with Dock preferences.

The code snippet just calls a class member function of NSWindow so it could go anywhere that has Objective-C code. Providing convenience functions in Gtk-OSX and gio/gosxapplication so that it can be set from C and exposed to introspection would be nice.
Comment 25 Jo Wetzig 2017-08-12 16:47:46 UTC
The bug is back :(

Bad news.

Now running Sierra 10.12.6 and the bug is back with GnuCash V 2.6.15 and 2.6.17.

No cure with/without tabline enabled.

B U T
More details of the bad news when playing with the tab-line:
1. Start Program, Splash Screen seems OK.
   Main program window missing content at bottom, 
   approx the width of the status line, 
   drag window to work around the error, 
   resizes and completes the window, 
   works, as long as you do not change to a different window.
2. Enabling the tab line: 
   window redraws, tabline at the top, window content pushed down,
   bottom border loses content approx the width of the tab line space, 
   pushing content out of window, again INCOMPLETE, does not work
3. drag window to work around the error, 
   resizes and completes the window, works.
4. Disable the tab line
   window redraws, content moving up
   DOES NOT REDRAW the bottom, a duplicate of the bottom remains visible 
   (two status lines for the price of one ;)
   Strangely enough the window lower right corner handle 
   IS STILL at the pre-redraw location and you have to point there 
   to redraw the window an make it workable again.

Seems to me the window redrawing strategy of GnuCash is not compatible with Sierra and Mac OS does not learn the resizing of the window.

(On a maybe related topic: 
GnuCash 2.6.15 and 2.6.17 crash in Mac OS High Sierra Beta Build 17A330h:

Double-click on app icon on desktop or in applications folder has it bouncing in the dock, then crashing. Error is 

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x4] Symbol missing

Application Specific Information:
dyld: launch, loading dependent libraries
DYLD_FRAMEWORK_PATH=/Applications/Gnucash.app/Contents/Frameworks
DYLD_LIBRARY_PATH=/Applications/Gnucash.app/Contents/Resources/lib:/Applications/Gnucash.app/Contents/Resources/lib/gnucash::/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/:/Applications/Gnucash.app/Contents/Resources/lib:/Applications/Gnucash.app/Contents/Resources/lib/gnucash

Dyld Error Message:
  Symbol not found: _inflateValidate
  Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
  Expected in: /Applications/Gnucash.app/Contents/Resources/lib/libz.1.dylib
 in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib


Cheers from rainy Germany
Comment 26 John Ralls 2017-10-13 13:53:49 UTC
The crash on 10.13 is because Apple updated the version of zlib that they use. That's fixed in GnuCash 2.6.18; you can fix earlier versions of GnuCash yourself by copying /usr/lib/libz.dylib to Gnucash.app/Contents/Resources/lib.
Comment 27 John Ralls 2018-02-09 15:10:45 UTC
This has been addressed to Gtk+ in bug 793330. It will be interesting to see how it plays out.
Comment 28 GHammond 2018-02-28 22:50:42 UTC
I am running GnuCash 2.6.19-1 on mid 2011 iMac. OS version is 10.13.3. Windows do not fully expand and mouse pointer position varies depending upon window. Sometimes tail of mouse is a good indicator; sometimes it is dead on and others it is just in the near vicinity.
Comment 29 GHammond 2018-02-28 22:51:25 UTC
I am running GnuCash 2.6.19-1 on mid 2011 iMac. OS version is 10.13.3. Windows do not fully expand and mouse pointer position varies depending upon window. Sometimes tail of mouse is a good indicator; sometimes it is dead on and others it is just in the near vicinity.
Comment 30 John Ralls 2018-03-05 04:13:28 UTC
GHammond: Can you provide specifics for each situation?
Comment 31 Jay 2018-04-30 04:27:48 UTC
Pleased to report that the issue is no longer present since updating to 3.0, then 3.1, on macOS 10.12.5. VERY GLAD as this user interface issue was a significant impediment to a productive workflow.
Comment 32 Jo Wetzig 2018-04-30 20:55:01 UTC
Problem resolved on GnuCash 3.0 running on Mac Sierra 10.12.6

Bug IMHO could be closed.

Cheers

J W
Comment 33 John Ralls 2018-04-30 21:01:12 UTC
Thanks.
Comment 34 Jo Wetzig 2018-04-30 21:07:13 UTC
Welcome, I'm sure ;)
Comment 35 Jo Wetzig 2018-05-03 18:26:12 UTC
Eating crow, now...

The problem is ONLY resolved, when I do not use tabbed windows (I am soooo late in getting familiar with this feature).
Now that I have re-read the bug comments I have finally experimented, in an odd moment of idle time, with the tabbed windows and THEY STILL BEHAVE FALSELY.

To wit:
1. Setting System Preferences > Dock > "When opening documents prefer tabs: always" (actually in German: "Beim Öffnen von Dokumenten Tabs bevorzugen: Immer" -- I just hope my reverse translation is close to the actual English menu setting) and
2. a) setting GnuCash preferences "Berichte" (in English "Reports"?) > Position > Bericht in neuem Fenster öffnen (Open reports in a new window?)
OR
   b) manually open the tab line (menu "Fenster" (Windows) > Tableiste einblenden (Shift Cmd T)
brings up the tab line on new window or always.
3. the mouse pointer focus is then visually off too low, apparently by the width of the tab line, i. e. when I point at a target it does not respond, if I point higher, that is towards the upper rim of the screen, by approx. the distance of the width of the tab line the target responds. The horizontal alignemt seems to be OK, my previous report of a displacement low and to to the right no longer seems to apply, as far as the "to the right" is concerned. 
This happens in the newly opened window (tab), e.g. of a report, but also in the GC preferences menu and other preferences or options menus of e.g. reports. 
In addition the windows bottom of these windows is partially invisible, e.g. buttons and the --by now in GC V 3 rather narrow-- scroll bar, are not visible and appear only after the old trick of resizing the window.

The main first window of GC does not show the behaviour, only the additional tabbed windows. That's why I did not notice it anymore, btw.

Cheers

J W
Comment 36 John Ralls 2018-05-03 23:11:26 UTC
The new home of the corresponding Gtk+ bug is https://gitlab.gnome.org/GNOME/gtk/issues/1029.

The problem seems to be in the Gtk drawing code and I think that's probably too low-level for us to be able to do anything about in GnuCash's code.

When testing I found that a dialog (I tested with the preferences dialog) is on its own tab then the the dialog's transient-for window's tab doesn't display anything: The GnuCash window disappears, I suppose because Gtk doesn't realize that it's supposed to draw anything. 

Incidentally on 10.13.5 Beta (17F45c) there is no Windows>Enable Tabs menu item on any app that I looked at. The only way I could get tabs to show up on GnuCash was to set "Prefer Tabs when opening Documents" to "Always".
Comment 37 John Ralls 2018-06-29 23:53:01 UTC
GnuCash bug tracking has moved to a new Bugzilla host. The new URL for this bug is https://bugs.gnucash.org/show_bug.cgi?id=776602. Please continue processing the bug there and please update any external references or bookmarks.