Menu

#810 AnnoyingDialog shows on the wrong monitor

Undefined
fixed
UI (54)
Bug_Report
2021-03-14
2019-03-31
Simon
No

I have a problem using C::B on Mint 19.1.

System info:

inxi -Fxz
System:
  Host: simon-PC Kernel: 4.18.0-16-generic x86_64 bits: 64 compiler: gcc 
  v: 7.3.0 Desktop: Cinnamon 4.0.10 Distro: Linux Mint 19.1 Tessa 
  base: Ubuntu 18.04 bionic 
Machine:
  Type: Desktop System: Hewlett-Packard product: HP Z800 Workstation v: N/A 
  serial: <filter> 
  Mobo: Hewlett-Packard model: 0AECh v: D serial: <filter> 
  BIOS: Hewlett-Packard v: 786G5 v03.61 date: 03/05/2018 
CPU:
  Topology: 2x Quad Core model: Intel Xeon X5687 bits: 64 type: MT MCP SMP 
  arch: Nehalem rev: 2 L2 cache: 24.0 MiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 115091 
  Speed: 1599 MHz min/max: 1596/3592 MHz Core speeds (MHz): 1: 1599 2: 1599 
  3: 1599 4: 1599 5: 1598 6: 1598 7: 1598 8: 1599 9: 1599 10: 1599 11: 1598 
  12: 1599 13: 1598 14: 1598 15: 1599 16: 1598 
Graphics:
  Device-1: AMD Hawaii XT / Grenada XT [Radeon R9 290X/390X] 
  vendor: PC Partner Limited driver: amdgpu v: kernel bus ID: 0f:00.0 
  Display: x11 server: X.Org 1.20.1 driver: modesetting 
  resolution: 1920x1080~50Hz, 1920x1080~60Hz, 1920x1080~60Hz 
  OpenGL: renderer: AMD Radeon R9 200 Series (HAWAII DRM 3.26.0 
  4.18.0-16-generic LLVM 8.0.0) 
  v: 4.5 Mesa 19.1.0-devel (git-e4e6a3d 2019-03-31 bionic-oibaf-ppa) 
  direct render: Yes 
Audio:
  Device-1: AMD Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] 
  vendor: PC Partner Limited driver: snd_hda_intel v: kernel bus ID: 0f:00.1 
  Device-2: C-Media CMI8788 [Oxygen HD Audio] vendor: ASUSTeK Virtuoso 100 
  driver: snd_virtuoso v: kernel bus ID: 61:04.0 
  Sound Server: ALSA v: k4.18.0-16-generic 
Network:
  Device-1: Broadcom and subsidiaries NetXtreme BCM5764M Gigabit Ethernet 
  PCIe 
  vendor: Hewlett-Packard driver: tg3 v: 3.137 port: b0c0 bus ID: 01:00.0 
  IF: enp1s0 state: down mac: <filter> 
  Device-2: Broadcom and subsidiaries NetXtreme BCM5764M Gigabit Ethernet 
  PCIe 
  vendor: Hewlett-Packard driver: tg3 v: 3.137 port: b0c0 bus ID: 02:00.0 
  IF: enp2s0 state: down mac: <filter> 
  Device-3: ASUSTek USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom 
  BCM43526] 
  type: USB driver: usb-network bus ID: 2-2:3 
  IF-ID-1: wlx503eaab2873f state: up mac: <filter> 
Drives:
  Local Storage: total: 4.38 TiB used: 1.64 TiB (37.4%) 
  ID-1: /dev/sda vendor: Intel model: SSDSA2BW160G3H size: 149.05 GiB 
  ID-2: /dev/sdb vendor: Intel model: SSDSA2BW160G3H size: 149.05 GiB 
  ID-3: /dev/sdc vendor: Intenso model: SSD Sata III size: 465.76 GiB 
  temp: 40 C 
  ID-4: /dev/sdd vendor: Western Digital model: WD40EZRZ-00GXCB0 
  size: 3.64 TiB temp: 23 C 
RAID:
  Hardware-1: Intel SATA Controller [RAID mode] driver: ahci v: 3.0 
  bus ID: 00:1f.2 
Partition:
  ID-1: / size: 452.76 GiB used: 74.95 GiB (16.6%) fs: ext4 dev: /dev/sdc2 
  ID-2: /boot size: 944.6 MiB used: 285.5 MiB (30.2%) fs: ext4 
  dev: /dev/sdc1 
  ID-3: swap-1 size: 3.81 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdc5 
Sensors:
  System Temperatures: cpu: 33.0 C mobo: N/A gpu: amdgpu temp: 45 C 
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 0 
Info:
  Processes: 331 Uptime: 3h 43m Memory: 47.14 GiB used: 3.56 GiB (7.6%) 
  Init: systemd runlevel: 5 Compilers: gcc: 7.3.0 Shell: bash v: 4.4.19 
  inxi: 3.0.27 

It doesn't matter which version of C::B I'm using (16.x from repo, 17.x installed as.deb, self-built), it's always the same.

Problem descrition:
C::B Always hangs forever if I close it. I started it from console, to get some details.

How to reproduce:
- Start C::B, close it, reproduces 100% of the time for me.

Here's the startup trace shown if my self-built (r11579) executable is used.

Starting Code::Blocks svn build  rev 0 Mar 31 2019, 19:23:33 - wx3.0.4 (Linux, unicode) - 64 bit
Manager initialized
Initialize EditColourSet .....
Initialize EditColourSet: done.
Loading menubar...
SymTab: loaded
SmartIndentHDL: loaded
CppCheck: loaded
SmartIndentLua: loaded
SmartIndentPython: loaded
ReopenEditor: loaded
FilesExtensionHandler: loaded
ToDoList: loaded
lib_finder: loaded
SmartIndentXML: loaded
CB_Koders: loaded
CodeCompletion: loaded
AStylePlugin: loaded
Exporter: loaded
CodeStat: loaded
rndgen: loaded
SmartIndentCpp: loaded
HelpPlugin: loaded
OccurrencesHighlighting: loaded
SmartIndentPascal: loaded
NassiShneidermanPlugin: loaded
Valgrind: loaded
Autosave: loaded
RegExTestbed: loaded
Debugger: loaded
Profiler: loaded
HeaderFixup: loaded
cbKeyBinder: loaded
Compiler: loaded
BrowseTracker: loaded
SmartIndentFortran: loaded
EditorTweaks: loaded
CodeSnippets: loaded
DoxyBlocks: loaded
IncrementalSearch: loaded
ProjectOptionsManipulator: loaded
wxSmithContribItems: loaded
wxSmithAui: loaded
HexEditor: loaded
EnvVars: loaded
wxSmith: loaded
wxSmithMime: loaded
BYOGames: loaded
ToolsPlus: loaded
ThreadSearch: loaded
ProjectsImporter: loaded
Cscope: loaded
FileManager: loaded
Abbreviations: loaded
AutoVersioning: loaded
Cccc: loaded
ScriptedWizard: loaded
copystrings: loaded
OpenFilesList: loaded
ClassWizard: loaded
SpellChecker: loaded
EditorConfig: loaded
MouseSap: loaded
cbDragScroll: loaded
Symbol Table Plugin plugin activated
SmartIndentHDL plugin activated
CppCheck plugin activated
SmartIndentLua plugin activated
SmartIndentPython plugin activated
ReopenEditor plugin activated
Files extension handler plugin activated
Todo List plugin activated
Library finder plugin activated
SmartIndentXML plugin activated
Koders query plugin activated
Code completion plugin activated
Source code formatter (AStyle) plugin activated
Source Exporter plugin activated
Code statistics plugin activated
rndgen plugin activated
SmartIndentCpp plugin activated
Help plugin plugin activated
OccurrencesHighlighting plugin activated
SmartIndentPascal plugin activated
NassiShneidermanPlugin plugin activated
Valgrind plugin activated
Autosave plugin activated
Regular expressions testbed plugin activated
Debugger plugin activated
Code profiler plugin activated
Header Fixup plugin activated
Keyboard shortcuts plugin activated
Added compiler "GNU GCC Compiler"
Added compiler "Intel C/C++ Compiler"
Added compiler "GDC D Compiler"
Added compiler "GNU Fortran Compiler"
Added compiler "G95 Fortran Compiler"
Added compiler "GNU GCC Compiler for ARM"
Added compiler "GNU GCC Compiler for TriCore (HighTec)"
Added compiler "GNU GCC Compiler for LM8"
Added compiler "GNU GCC Compiler for LM32"
Added compiler "PGI Fortran Compiler"
Added compiler "GNU GCC Compiler for MSP430 (HighTec)"
Added compiler "LLVM D Compiler"
Added compiler "GNU GCC Compiler for PowerPC (HighTec)"
Added compiler "GNU GCC Compiler for Android"
Added compiler "Small Device C Compiler"
Added compiler "*No Compiler*"
Added compiler "GNU GCC Compiler for ZPU"
Added compiler "GNU GCC Compiler for PowerPC EABI"
Added compiler "LLVM Clang Compiler"
Added compiler "GNU GCC Compiler for AVR"
Added compiler "Digital Mars D Compiler"
Added compiler "Tiny C Compiler"
Added compiler "GNU GCC Compiler for Blackfin"
Master path of compiler ID "gcc" is empty -> triggers auto-detection.
Master path of compiler ID "icc" is empty -> triggers auto-detection.
Master path of compiler ID "sdcc" is empty -> triggers auto-detection.
Master path of compiler ID "tcc" is empty -> triggers auto-detection.
Master path of compiler ID "clang" is empty -> triggers auto-detection.
Master path of compiler ID "arm-elf-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "lm8-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "lm32-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "android-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "zpu-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "avr-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "bfin-elf-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "msp430-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "tricore-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "ppc-gcc" is empty -> triggers auto-detection.
Master path of compiler ID "powerpc-eabi" is empty -> triggers auto-detection.
Master path of compiler ID "gdc" is empty -> triggers auto-detection.
Master path of compiler ID "ldc" is empty -> triggers auto-detection.
Master path of compiler ID "dmd" is empty -> triggers auto-detection.
Master path of compiler ID "gfortran" is empty -> triggers auto-detection.
Master path of compiler ID "g95" is empty -> triggers auto-detection.
Master path of compiler ID "pgifortran" is empty -> triggers auto-detection.
Master path of compiler ID "null" is empty -> triggers auto-detection.
Compiler plugin activated
BrowseTracker plugin activated
SmartIndentFortran plugin activated
Editor Tweaks plugin: Building menu
Editor Tweaks plugin: making the menu 15
Editor Tweaks plugin: Folding menu
EditorTweaks plugin activated
Code snippets plugin activated
DoxyBlocks plugin activated
IncrementalSearch plugin activated
Project options manipulator plugin activated
wxSmith - Contrib Items plugin activated
wxSmith - Aui plugin activated
HexEditor plugin activated
Environment variables plugin activated
wxSmith plugin activated
wxSmith - MIME plugin plugin activated
BYO Games plugin activated
ToolsPlus plugin activated
ThreadSearch plugin activated
Foreign projects importer plugin activated
Cscope plugin activated
FileManager plugin activated
Abbreviations plugin activated
AutoVersioning plugin activated
Cccc plugin activated
Project wizard added for 'Empty project'
Project wizard added for 'Fortran application'
Project wizard added for 'Fortran library'
Project wizard added for 'Fortran DLL'
Project wizard added for 'Console application'
Project wizard added for 'D application'
Project wizard added for 'FLTK project'
Project wizard added for 'GLFW project'
Project wizard added for 'GLUT project'
Project wizard added for 'GTK+ project'
Project wizard added for 'Irrlicht project'
Project wizard added for 'Java application'
Project wizard added for 'Lightfeather project'
Project wizard added for 'Matlab project'
Project wizard added for 'OpenCV project'
Project wizard added for 'OpenGL project'
Project wizard added for 'Ogre project'
Project wizard added for 'Code::Blocks plugin'
Project wizard added for 'QT4 project'
Project wizard added for 'QT4 (shared) project'
Project wizard added for 'QT5 project'
Project wizard added for 'SDL project'
Project wizard added for 'SDL2 project'
Project wizard added for 'SFML project'
Project wizard added for 'Static library'
Project wizard added for 'Shared library'
Project wizard added for 'wxWidgets project'
Build-target wizard added for 'Console'
Build-target wizard added for 'Static library'
Build-target wizard added for 'wxWidgets'
Project wizard added for 'Arduino Project'
Project wizard added for 'ARM Project'
Project wizard added for 'AVR Project'
Project wizard added for 'MSP430 Project'
Project wizard added for 'TriCore Project'
Project wizard added for 'PowerPC Project'
Project wizard added for 'MCS51 Project'
File(s) wizard added for 'Empty file'
File(s) wizard added for 'C/C++ source'
File(s) wizard added for 'D source'
File(s) wizard added for 'C/C++ header'
File(s) wizard added for 'Fortran source'
File(s) wizard added for 'Java source'
Scripted wizard plugin activated
Copy Strings to clipboard plugin activated
Open files list plugin activated
Class wizard plugin activated
Detected dict path: /usr/share/hunspell
Detected thes path: /usr/share/myspell/dicts
Found dictionary: es_CR
Found dictionary: pt_BR
Found dictionary: es_BO
Found dictionary: fr
Found dictionary: en_CA
Found dictionary: fr_CH
Found dictionary: it_CH
Found dictionary: es_DO
Found dictionary: fr_FR
Found dictionary: es_CO
Found dictionary: es_PA
Found dictionary: es_SV
Found dictionary: de_AT_frami
Found dictionary: de_CH_frami
Found dictionary: fr_CA
Found dictionary: es_PR
Found dictionary: es_VE
Found dictionary: ru_RU
Found dictionary: en_ZA
Found dictionary: es_HN
Found dictionary: es_CL
Found dictionary: it_IT
Found dictionary: es_EC
Found dictionary: fr_LU
Found dictionary: es_CU
Found dictionary: de_DE_frami
Found dictionary: fr_BE
Found dictionary: es_US
Found dictionary: en_AU
Selected dictionary: en_US
Found dictionary: en_US
Found dictionary: en_GB
Found dictionary: es_ES
Found dictionary: es_PE
Found dictionary: es_PY
Found dictionary: es_MX
Found dictionary: de_AT
Found dictionary: es_UY
Found dictionary: de_DE
Found dictionary: es_AR
Found dictionary: de_CH
Found dictionary: es_GT
Found dictionary: es_NI
Found dictionary: fr_MC
Found dictionary: pt_PT
Detected bitmap path: /usr/local/share/codeblocks/SpellChecker
Detected bitmap path: /usr/local/share/codeblocks/SpellChecker
SpellChecker plugin activated
EditorConfig plugin for Code::Blocks plugin activated
MouseSap plugin activated
DragScroll plugin activated
Loading toolbar...
Initializing plugins...

After closing, the following lines are shown, after that, it hangs forever.

(codeblocks:16134): Gtk-CRITICAL **: 20:28:24.774: IA__gtk_tree_model_iter_nth_child: assertion 'n >= 0' failed
Deinitializing plugins...

Tell me if more information is needed.

Discussion

  • Teodor Petrov

    Teodor Petrov - 2019-04-01

    Can you start cb under a debugger and post the backtrace? Press ctrl-c and execute the bt or thread apply all bt command.

     
  • Simon

    Simon - 2019-04-01

    I found the problem, it was caused by my 3-Monitor setup.
    I've got 3 Monitors (1 is a TV) @1920x1080p, which where sorted left(TV)-middle(primary)-right.
    Usually the TV is turned off, I use the middle monitor most, I also used it for C::B. When I closed it, the "Perspective has changed...." dialog was shown, but it was not visible to me because it poped up on the TV... So for me the GUI was frozen and didn't react anymore.

    The real problem is imo that this dialog (maybe others aswell?) don't check for the current Monitor where the C::B Mainwindow is currently running, and therefore might pop up on another screen.

     
  • Teodor Petrov

    Teodor Petrov - 2019-04-03

    Interesting. How do you do your monitor setup? I'm not really familiar with AMD cards. Can you post the xrandr settings or anything that should the arrangement of monitors in X?

    Are you able to rebuild codeblocks applying patches, so you can test fixes?

     
    • Simon

      Simon - 2019-04-03

      I've made a startup shell script, containing the following 2 lines:
      xrandr --output DVI-D-1 --mode 1920x1080 --rate 60 --output HDMI-1 --same-as DVI-D-1
      xrandr --output DVI-D-2 --right-of DVI-D-1

      Without that, as it was when I got the problem with C::B, the monitors are arranged as follows: (I'll also add an attachment, with a screenshot from the GUI settings menu for Monitors)

      xrandr --listmonitors 
      Monitors: 3
       0: +*DVI-D-1 1920/531x1080/299+1920+0  DVI-D-1
       1: +HDMI-1 1920/1600x1080/900+0+0  HDMI-1
       2: +DVI-D-2 1920/477x1080/268+3840+0  DVI-D-2
      

      How do you mean "applying patches"? Just replace some Source code files with others & make a rebuild? If so, sure.

      If you wish, we could switch the discussion to PM, and keep it clean here & just put updates here.

       

      Last edit: Simon 2019-04-03
  • Teodor Petrov

    Teodor Petrov - 2019-04-03
    • labels: --> UI
    • summary: [Linux Mint 19.1] Hang on Close --> AnnoyingDialog shows on the wrong monitor
    • assigned_to: Teodor Petrov
     
  • Teodor Petrov

    Teodor Petrov - 2019-04-03

    Is the TV set as the main/default monitor?

    And yes - applyuing patches means replace some source code and do rebuild.

    I'll try to make a fix in the next days if after 5 day you don't hear from me, then don't hesitate to ping me.

     

    Last edit: Teodor Petrov 2019-04-03
    • Simon

      Simon - 2019-04-03

      No, the TV is not the default monitor. However, a lot of software opens up there, I think this is because its the left monitor and maybe because it's connected by HDMI.

      Just let me know if you have found sth, I'll rebuild & test then :)

       
      • Teodor Petrov

        Teodor Petrov - 2019-04-03

        BTW: What happens if you press alt-g does the search dialog open on the correct monitor? Have you checked the multi-monitor related settings in Settings -> Environment (the won't help for the dialog for the layout, just yet)?

         
        • Simon

          Simon - 2019-04-03

          Just deleted the Cache of my C::B, to get the first launch wizard again.

          • The Initial Window for selecting the compiler opens on the wrong Monitor aswell (Also on the TV), but that's okay, because I see the new window is open in the taskbar, and can simply move it using Super+LShift+Right.
          • When using Alt+g, it opens on the correct monitor.
          • When Closing, the "Perspective has changed...."-dialog is (as before) on the wrong Monitor (TV), but I can also move it using Super+LShift+right, however, If I didn't know about that dialog, I can't see it, because it doesn't show up as an additional window on the taskbar icon.

          After closing Codeblocks properly, and starting again, the Mainwindow starts on the primary monitor as intended. However, when closing, the "Perspective has changed...." dialog is AGAIN on the TV, the Alt+G window is still correct.

          Conclusion: Not all C::B windows do behave consistant, e.g. the "Select File"-dialog (opened via Alt+g) does work properly, the "Perspective has changed...."- dialog does not.

          Edit:

          When enabling the "Enhanced Multi Monitor Dialog placement" in Settings->Environment->View (I guess that's what you mean), then it all seems to behave correctly, as far as i just found out now.

           

          Last edit: Simon 2019-04-03
          • Teodor Petrov

            Teodor Petrov - 2019-04-04

            Thanks for testing this.

            I guess that for the well behaved windows we're calling PlaceWindow and we're not calling it for the others.

             
            • Simon

              Simon - 2019-04-04

              Hm, seems legit. But I'm questioning myself than: Why is that option not enabled by default? Or, e.g. If C::B detects multile monitors on (first) startup?

               
              • Teodor Petrov

                Teodor Petrov - 2019-04-05

                What option? If the call to PlaceWindow is missing the option is useless as far as I know.

                 
                • Simon

                  Simon - 2019-04-07

                  I mean, if the "Enhanced Multi Monitor Dialog placement" in Settings->Environment->View is enabled, the problem seems to be solved, so I don't know why this option is not enabled by default?

                   
  • Teodor Petrov

    Teodor Petrov - 2021-03-14
    • status: open --> fixed
     
  • Teodor Petrov

    Teodor Petrov - 2021-03-14

    20.03 or newer should have this option default to "Center On Parent", so I think this ticket could be closed. If 20.03 or newer doesn't work as expected please let me know.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.