[Pkg-virtualbox-commits] [virtualbox] 01/04: Imported Upstream version 5.1.6-dfsg

Gianfranco Costamagna locutusofborg at moszumanska.debian.org
Tue Sep 13 15:03:06 UTC 2016


This is an automated email from the git hooks/post-receive script.

locutusofborg pushed a commit to branch master
in repository virtualbox.

commit bd76fab0835cea098a7047fd99657c2a4e9d1e2a
Author: Gianfranco Costamagna <costamagnagianfranco at yahoo.it>
Date:   Tue Sep 13 07:56:04 2016 +0200

    Imported Upstream version 5.1.6-dfsg
---
 Config.kmk                                         |    6 +-
 configure                                          |    8 +-
 doc/manual/en_US/user_VBoxManage.xml               |    6 +-
 doc/manual/user_ChangeLogImpl.xml                  |  146 +
 include/VBox/VBoxVideoHost3D.h                     |    2 +-
 include/VBox/com/microatl.h                        |   19 +-
 include/VBox/pci.h                                 |    3 +-
 include/VBox/vmm/iom.h                             |    8 +-
 include/VBox/vmm/mm.h                              |    3 +
 include/VBox/vmm/pdmdev.h                          |   46 +-
 include/VBox/vmm/pdmifs.h                          |   16 +-
 include/iprt/asm.h                                 |   10 +-
 include/iprt/bldprog-strtab.h                      |    7 +-
 src/VBox/Additions/linux/drm/README.testing        |    4 +
 src/VBox/Additions/linux/drm/vbox_drv.c            |   11 +-
 src/VBox/Additions/linux/drm/vbox_mode.c           |    4 -
 src/VBox/Additions/linux/drm/vbox_ttm.c            |    4 +
 src/VBox/Additions/linux/installer/vboxadd.sh      |    4 +-
 src/VBox/Devices/Audio/AudioMixer.cpp              |  399 ++-
 src/VBox/Devices/Audio/AudioMixer.h                |   16 +-
 src/VBox/Devices/Audio/DevIchAc97.cpp              |    2 +-
 src/VBox/Devices/Audio/DevIchHda.cpp               |    2 +-
 src/VBox/Devices/Audio/DrvAudio.cpp                |   34 +-
 src/VBox/Devices/Audio/DrvHostALSAAudio.cpp        |   29 +-
 src/VBox/Devices/Audio/DrvHostCoreAudio.cpp        |   31 +-
 src/VBox/Devices/Audio/DrvHostOSSAudio.cpp         |    7 +-
 src/VBox/Devices/Bus/DevPCI.cpp                    |   30 +-
 src/VBox/Devices/Bus/DevPciIch9.cpp                |  126 +-
 src/VBox/Devices/Bus/MsixCommon.cpp                |    9 +-
 src/VBox/Devices/EFI/FirmwareBin/VBoxEFI32.fd      |  Bin 2097152 -> 2097152 bytes
 src/VBox/Devices/EFI/FirmwareBin/VBoxEFI64.fd      |  Bin 2097152 -> 2097152 bytes
 .../Graphics/BIOS/VBoxVgaBiosAlternative286.asm    |   20 +-
 .../Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum |    2 +-
 .../Graphics/BIOS/VBoxVgaBiosAlternative386.asm    |   20 +-
 .../Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum |    2 +-
 .../Graphics/BIOS/VBoxVgaBiosAlternative8086.asm   |   22 +-
 .../BIOS/VBoxVgaBiosAlternative8086.md5sum         |    2 +-
 src/VBox/Devices/Graphics/BIOS/vberom.asm          |    2 +-
 src/VBox/Devices/Graphics/DevVGA-SVGA.cpp          |    5 +-
 src/VBox/Devices/Graphics/DevVGA-SVGA.h            |    2 +-
 src/VBox/Devices/Graphics/DevVGA.cpp               |   21 +-
 src/VBox/Devices/Network/DevE1000.cpp              |    4 +-
 src/VBox/Devices/Network/DevPCNet.cpp              |    4 +-
 src/VBox/Devices/Network/DevVirtioNet.cpp          |    2 +-
 src/VBox/Devices/Network/slirp/socket.c            |   54 +-
 src/VBox/Devices/Network/slirp/tcp_output.c        |    8 +-
 src/VBox/Devices/Network/slirp/tcp_subr.c          |    6 +-
 src/VBox/Devices/Network/slirp/tcp_timer.c         |    6 +-
 src/VBox/Devices/Network/slirp/tftp.c              |    5 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative286.asm     |    4 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative286.md5sum  |    2 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative386.asm     |    4 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative386.md5sum  |    2 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative8086.asm    |    4 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum |    2 +-
 src/VBox/Devices/Serial/DevSerial.cpp              |    2 +-
 src/VBox/Devices/Serial/DrvHostSerial.cpp          |   37 +-
 src/VBox/Devices/Storage/DevAHCI.cpp               |   36 +-
 src/VBox/Devices/Storage/DevATA.cpp                |    2 +-
 src/VBox/Devices/Storage/DevBusLogic.cpp           |    7 +-
 src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp       |    4 +-
 src/VBox/Devices/Storage/DrvVD.cpp                 |   39 +-
 src/VBox/Devices/Storage/VBoxSCSI.cpp              |   20 +-
 src/VBox/Devices/USB/DevOHCI.cpp                   |    2 +-
 src/VBox/Devices/VMMDev/VMMDev.cpp                 |    6 +-
 .../Devices/testcase/tstDeviceStructSizeRC.cpp     |    1 +
 src/VBox/Frontends/VBoxBugReport/Makefile.kmk      |    3 +-
 src/VBox/Frontends/VBoxBugReport/VBoxBugReport.cpp |   65 +-
 .../Frontends/VBoxBugReport/VBoxBugReportWin.cpp   |  134 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts   |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_el.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts |  161 +-
 .../Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts   |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts   |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_he.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_km_KH.ts   |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts |  157 +-
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts   |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sl.ts | 2916 ++++++++++++++++++--
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts |   13 +
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts   |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts   |   13 +
 .../Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts   |   13 +
 .../src/extradata/UIExtraDataManager.cpp           |   42 +-
 .../VirtualBox/src/globals/UIMessageCenter.cpp     |   18 +
 .../VirtualBox/src/globals/UIMessageCenter.h       |    2 +
 .../VirtualBox/src/globals/VBoxGlobal.cpp          |    4 +-
 .../VirtualBox/src/net/UIUpdateManager.cpp         |   21 +
 .../src/platform/darwin/CocoaEventHelper.h         |    1 +
 .../src/platform/darwin/CocoaEventHelper.mm        |   16 +
 .../VirtualBox/src/platform/darwin/vmstarter.mm    |    4 +-
 .../src/runtime/UIConsoleEventHandler.cpp          |   42 +-
 .../VirtualBox/src/runtime/UIKeyboardHandler.cpp   |  397 ++-
 .../VirtualBox/src/runtime/UIKeyboardHandler.h     |   41 +-
 .../VirtualBox/src/runtime/UIMachineView.cpp       |  140 +-
 .../VirtualBox/src/runtime/UIMachineView.h         |   20 +-
 .../VirtualBox/src/runtime/UIMouseHandler.cpp      |  137 +-
 .../VirtualBox/src/runtime/UIMouseHandler.h        |   13 +-
 .../Frontends/VirtualBox/src/runtime/UISession.cpp |    2 +
 .../src/selector/UIVirtualBoxEventHandler.cpp      |   74 +-
 .../GuestHost/SharedClipboard/x11-clipboard.cpp    |    2 +
 src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp |   22 +-
 .../HostDrivers/Support/SUPR3HardenedVerify.cpp    |    7 +
 src/VBox/HostDrivers/linux/load.sh                 |    2 +-
 .../testcase/tstSharedFolderService.cpp            |    3 +-
 src/VBox/Installer/linux/Makefile.kmk              |   14 +-
 src/VBox/Installer/linux/install.sh                |    4 +-
 src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec  |    2 +-
 src/VBox/Installer/linux/rpm/rules                 |    8 +-
 src/VBox/Installer/linux/vboxdrv.sh                |   45 +-
 src/VBox/Main/include/DisplayImpl.h                |    8 +-
 src/VBox/Main/include/VirtualBoxBase.h             |    5 +
 src/VBox/Main/include/VirtualBoxClientImpl.h       |   25 +-
 src/VBox/Main/src-client/BusAssignmentManager.cpp  |   16 +-
 src/VBox/Main/src-client/ConsoleImpl2.cpp          |   13 +
 src/VBox/Main/src-client/DisplayImpl.cpp           |   12 +-
 src/VBox/Main/src-client/VirtualBoxClientImpl.cpp  |    5 +
 src/VBox/Main/src-client/win/dllmain.cpp           |   53 +-
 src/VBox/Main/src-server/MediumImpl.cpp            |    2 +-
 .../Main/src-server/linux/HostHardwareLinux.cpp    |    7 +
 src/VBox/Main/src-server/linux/USBGetDevices.cpp   |    7 +
 src/VBox/Main/webservice/Makefile.kmk              |    4 +-
 src/VBox/Main/xml/Settings.cpp                     |    7 +-
 src/VBox/Main/xml/VirtualBox-settings.xsd          |    3 +-
 src/VBox/Runtime/r3/posix/dir-posix.cpp            |    7 +
 src/VBox/Runtime/testcase/tstRTBitOperations.cpp   |   16 +
 src/VBox/Storage/VD.cpp                            |    9 +
 src/VBox/VMM/VMMR3/DBGFR3Trace.cpp                 |    3 +-
 src/VBox/VMM/VMMR3/IOM.cpp                         |   28 +-
 src/VBox/VMM/VMMR3/MM.cpp                          |   54 +-
 src/VBox/VMM/VMMR3/PDMDevHlp.cpp                   |   67 +-
 src/VBox/VMM/VMMR3/PGMShw.h                        |    4 +
 src/VBox/VMM/include/IOMInternal.h                 |   33 +-
 src/VBox/VMM/include/MMInternal.h                  |    6 +
 src/VBox/VMM/include/PDMInternal.h                 |    2 +-
 src/VBox/VMM/include/PGMInternal.h                 |    2 +-
 src/VBox/VMM/tools/Makefile.kmk                    |    3 +
 src/VBox/VMM/tools/VBoxVMMPreload.cpp              |    2 +
 .../bootsectors/bs3kit/VBoxBs3ObjConverter.cpp     |    6 +-
 src/libs/kStuff/kStuff/include/k/kDefs.h           |    4 +-
 src/libs/kStuff/kStuff/include/k/kLdr.h            |   30 +-
 src/libs/kStuff/kStuff/include/k/kLdrFmts/pe.h     |    4 +-
 src/libs/kStuff/kStuff/kHlp/Bare/kHlpBareAssert.c  |   14 +-
 .../kStuff/kStuff/kHlp/Generic/kHlpGetFilename.c   |   13 +-
 src/libs/kStuff/kStuff/kHlp/Generic/kHlpStrPCopy.c |    4 +-
 src/libs/kStuff/kStuff/kLdr/kLdrDyldMod.c          |   20 +-
 src/libs/kStuff/kStuff/kLdr/kLdrMod.c              |  167 +-
 src/libs/kStuff/kStuff/kLdr/kLdrModLX.c            |   72 +-
 src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c         |   81 +-
 src/libs/kStuff/kStuff/kLdr/kLdrModNative.c        |   60 +-
 src/libs/kStuff/kStuff/kLdr/kLdrModPE.c            |  111 +-
 src/libs/kStuff/kStuff/kRdr/kRdrFile.cpp           |    5 +-
 .../xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp   |    2 +-
 src/libs/xpcom18a4/python/Makefile.kmk             |  110 +-
 src/libs/xpcom18a4/python/gen_python_deps.py       |   38 +-
 src/libs/xpcom18a4/python/vboxxpcom.py             |   27 +-
 178 files changed, 5941 insertions(+), 1531 deletions(-)

diff --git a/Config.kmk b/Config.kmk
index d1e5457..b6e1d54 100644
--- a/Config.kmk
+++ b/Config.kmk
@@ -208,7 +208,7 @@ VBOX_VERSION_MINOR = 1
 # This is the current build number. It should be increased every time we publish a
 # new build. The define is available in every source file. Only even build numbers
 # will be published, odd numbers are set during development.
-VBOX_VERSION_BUILD = 4
+VBOX_VERSION_BUILD = 6
 # The raw version string. This *must not* contain any other information/fields than
 # major, minor and build revision (as it is now) -- also will be used for host/guest version
 # comparison.
@@ -1273,7 +1273,7 @@ ifdef VBOX_OSE
 # of VirtualBox binaries.  We request though that you always use something that
 # clearly identifies your build and makes it clear that it is not one done by
 # the VirtualBox team.
- VBOX_BUILD_PUBLISHER = _OSE
+ VBOX_BUILD_PUBLISHER ?= _OSE
 endif
 
 # Keep in sync with G_virtualBoxPackage in glue-jaxws.xsl and glue-java.xsl
@@ -6847,7 +6847,7 @@ endif
 SVN                    ?= svn$(HOSTSUFF_EXE)
 VBOX_SVN_REV_KMK        = $(PATH_OUT)/revision.kmk
 ifndef VBOX_SVN_REV
- VBOX_SVN_REV_FALLBACK := $(patsubst %:,,  $Rev: 110228 $  )
+ VBOX_SVN_REV_FALLBACK := $(patsubst %:,,  $Rev: 110634 $  )
  VBOX_SVN_DEP          := $(firstword $(wildcard $(PATH_ROOT)/.svn/wc.db $(abspath $(PATH_ROOT)/../.svn/wc.db) $(abspath $(PATH_ROOT)/../../.svn/wc.db) $(PATH_ROOT)/.svn/entries))
  ifeq ($(which $(SVN)),)
   VBOX_SVN_DEP         :=
diff --git a/configure b/configure
index 681bdb0..ff7545d 100755
--- a/configure
+++ b/configure
@@ -446,7 +446,7 @@ check_gcc()
              -o \( $cc_maj -eq 4 -a $cc_min -lt 2 -a "$OS"  = "darwin" \) \
              -o \( $cc_maj -eq 4 -a $cc_min -gt 9 \) \
              -o \( $cc_maj -eq 5 -a $cc_min -gt 9 \) \
-             -o \( $cc_maj -eq 6 -a $cc_min -gt 1 \) \
+             -o \( $cc_maj -eq 6 -a $cc_min -gt 9 \) \
              -o $cc_maj -gt 6 ]; then
         log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x or gcc 6.x"
         fail really
@@ -2849,7 +2849,9 @@ if [ $OUT_PATH_OVERRIDE -eq 1 ]; then
   echo "export PATH_OUT_BASE" >> $ENV
 fi
 
+# don't bother people with -Werror
 cnf_append "VBOX_GCC_WERR" "\$(NO_SUCH_VARIABLE)"
+
 # some things are not available in for OSE
 if [ $OSE -ge 1 ]; then
   cnf_append "VBOX_OSE" "1"
@@ -2947,7 +2949,7 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
     if [ $WITH_PULSE -eq 1 ]; then
       check_pulse
     elif [ $WITH_PULSE -eq 0 ]; then
-      cnf_append "VBOX_WITH_PULSE" ""
+      cnf_append "VBOX_WITH_AUDIO_PULSE" ""
     fi
  fi
 fi
@@ -2968,7 +2970,7 @@ if [ "$OS" = "linux" ]; then
     if [ $WITH_ALSA -eq 1 ]; then
       check_alsa
     else
-      cnf_append "VBOX_WITH_ALSA" ""
+      cnf_append "VBOX_WITH_AUDIO_ALSA" ""
     fi
     if [ $WITH_DBUS -eq 0 ]; then
       cnf_append "VBOX_WITH_DBUS" ""
diff --git a/doc/manual/en_US/user_VBoxManage.xml b/doc/manual/en_US/user_VBoxManage.xml
index 145e06f..3909e82 100644
--- a/doc/manual/en_US/user_VBoxManage.xml
+++ b/doc/manual/en_US/user_VBoxManage.xml
@@ -1258,7 +1258,9 @@ UUID="457af700-bc0a-4258-aa3c-13b03da171f2"
           Specifies the Device Name of the parallel port that
           the Parallel Port feature will be using. Use this
           <emphasis>before</emphasis> <computeroutput>--lpt</computeroutput>.
-          This feature is host operating system specific.</para>
+          This feature is host operating system specific. For Windows hosts, use
+          a device name like <emphasis>lpt1</emphasis> while on Linux
+          hosts you have to use a device name like <emphasis>/dev/lp0</emphasis></para>
         </listitem>
 
         <listitem>
@@ -3842,7 +3844,7 @@ Value: 2006.01.01</screen>
 
     <para>You could retrieve the information for all keys as follows:</para>
 
-    <screen>VBoxManage getextradata Fedora5 enum</screen>
+    <screen>VBoxManage getextradata Fedora5 enumerate</screen>
 
     <para>To remove a key, the <computeroutput>setextradata</computeroutput>
     command must be run without specifying data (only the key), for example:
diff --git a/doc/manual/user_ChangeLogImpl.xml b/doc/manual/user_ChangeLogImpl.xml
index 95e7db4..74130ae 100644
--- a/doc/manual/user_ChangeLogImpl.xml
+++ b/doc/manual/user_ChangeLogImpl.xml
@@ -3,6 +3,152 @@
 <chapter> <!-- HACK ALERT! Seems we must have a single top level element for xi:include to work.
                            So, we use chapter and xpointer="xpointer(/chapter/)" with xi:include. -->
   <sect1>
+    <title>Version 5.1.6 (2016-09-12)</title>
+
+    <para>This is a maintenance release. The following items were fixed and/or
+      added:</para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>GUI: fixed issue with opening '.vbox' files and it's aliases</para>
+      </listitem>
+
+      <listitem>
+        <para>GUI: keyboard grabbing fixes (bugs #15771 and #15745)</para>
+      </listitem>
+
+      <listitem>
+        <para>GUI: fix for passing through Ctrl + mouse-click (Mac OS X hosts only;
+          bug #15714)</para>
+      </listitem>
+
+      <listitem>
+        <para>GUI: fixed automatic deletion of extension pack files (bugs #11352
+          and #14742)</para>
+      </listitem>
+
+      <listitem>
+        <para>USB: fixed showing unknown device instead of the manufacturer or
+          product description under certain circumstances (5.1.0 regression;
+          bug #15764)</para>
+      </listitem>
+
+      <listitem>
+        <para>XHCI: another fix for a hanging guest under certain conditions
+          as result of the fix for bug #15747, this time for Windows 7 guests</para>
+      </listitem>
+
+      <listitem>
+        <para>Serial: fixed high CPU usage with certain USB to serial converters
+          on Linux hosts (bug #7796)</para>
+      </listitem>
+
+      <listitem>
+        <para>Storage: fixed attaching stream optimized VMDK images (bug #14764)</para>
+      </listitem>
+
+      <listitem>
+        <para>Storage: reject image variants which are unsupported by the
+          backend (bug #7227)</para>
+      </listitem>
+
+      <listitem>
+        <para>Storage: fixed loading saved states created with VirtualBox 5.0.10
+          and older when using a SCSI controller (bug #15865)</para>
+      </listitem>
+
+      <listitem>
+        <para>Storage: fixed broken NVMe emulation if the host I/O cache setting
+          is enabled</para>
+      </listitem>
+
+      <listitem>
+        <para>Storage: fixed using multiple NVMe controllers if ICH9 is used</para>
+      </listitem>
+
+      <listitem>
+        <para>NVMe: fixed a crash during reset which could happen under certain
+          circumstances</para>
+      </listitem>
+
+      <listitem>
+        <para>Audio: fixed microphone input (5.1.2 regression; bugs #14386 and
+          #15802)</para>
+      </listitem>
+
+      <listitem>
+        <para>Audio: fixed crashes under certain conditions (5.1.0
+          regression; bug #15887 and others)</para>
+      </listitem>
+
+      <listitem>
+        <para>Audio: fixed recording with the ALSA backend (5.1 regression)</para>
+      </listitem>
+
+      <listitem>
+        <para>Audio: fixed stream access mode with OSS backend (5.1 regression, 
+          thanks to Jung-uk Kim)</para>
+      </listitem>
+
+      <listitem>
+        <para>E1000: do also return masked bits when reading the ICR register,
+          this fixes booting from iPXE (5.1.2 regression; bug #15846)</para>
+      </listitem>
+
+      <listitem>
+        <para>BIOS: fixed 4bpp scanline calculation (bug #15787)</para>
+      </listitem>
+
+      <listitem>
+        <para>API: relax the check for the version attribute in OVF/OVA
+          appliances (bug #15856)</para>
+      </listitem>
+
+      <listitem>
+        <para>Windows hosts: fixed crashes when terminating the VM selector
+          or other VBox COM clients (bug #15726 and others)</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux Installer: fixed path to the documentation in .rpm
+          packages (5.1.0 regression)</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux Installer: fixed the vboxdrv.sh script to prevent an
+          SELinux complaint (bug #15816)</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux hosts: don't use 32-bit legacy capabilities</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux Additions: Linux 4.8 fix for the kernel display driver
+          (bugs #15890 and #15896)</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux Additions: don't load the kernel modules provided by the
+          Linux distribution but load the kernel modules from the official Guest
+          Additions package instead (bug #15324)</para>
+      </listitem>
+
+      <listitem>
+        <para>Linux Additions: fix dynamic resizing problems in recent
+           Linux guests (bug #15875)</para>
+      </listitem>
+
+      <listitem>
+        <para>User Manual: fixed error in the VBoxManage chapter for the
+          <emphasis>getextradata enumerate</emphasis> example (bug #15862)</para>
+      </listitem>
+
+    </itemizedlist>
+  </sect1>
+
+  <sect1>
     <title>Version 5.1.4 (2016-08-16)</title>
 
     <para>This is a maintenance release. The following items were fixed and/or
diff --git a/include/VBox/VBoxVideoHost3D.h b/include/VBox/VBoxVideoHost3D.h
index b96d0f4..1cb8142 100644
--- a/include/VBox/VBoxVideoHost3D.h
+++ b/include/VBox/VBoxVideoHost3D.h
@@ -39,7 +39,7 @@ typedef struct VBOXCMDVBVA_HDR *PVBOXCMDVBVA_HDR;
 
 typedef DECLCALLBACKPTR(void, PFNVBOXCRCMD_CLTSCR_UPDATE_BEGIN)(HVBOXCRCMDCLTSCR hClt, unsigned u32Screen);
 typedef DECLCALLBACKPTR(void, PFNVBOXCRCMD_CLTSCR_UPDATE_END)(HVBOXCRCMDCLTSCR hClt, unsigned uScreenId, int32_t x, int32_t y, uint32_t cx, uint32_t cy);
-typedef DECLCALLBACKPTR(void, PFNVBOXCRCMD_CLTSCR_UPDATE_PROCESS)(HVBOXCRCMDCLTSCR hClt, unsigned u32Screen, struct VBVACMDHDR *pCmd, size_t cbCmd);
+typedef DECLCALLBACKPTR(void, PFNVBOXCRCMD_CLTSCR_UPDATE_PROCESS)(HVBOXCRCMDCLTSCR hClt, unsigned u32Screen, const struct VBVACMDHDR *pCmd, size_t cbCmd);
 
 /*client callbacks to be used by the server
  * when working in the CrCmd mode */
diff --git a/include/VBox/com/microatl.h b/include/VBox/com/microatl.h
index b808f24..94037a7 100644
--- a/include/VBox/com/microatl.h
+++ b/include/VBox/com/microatl.h
@@ -26,6 +26,7 @@
 #ifndef ___VBox_com_microatl_h
 #define ___VBox_com_microatl_h
 
+#include <VBox/cdefs.h> /* VBOX_STRICT */
 #include <iprt/assert.h>
 #include <iprt/critsect.h>
 #include <iprt/err.h>
@@ -900,12 +901,10 @@ public:
     }
     ULONG InternalRelease()
     {
-#ifdef DEBUG
+#ifdef VBOX_STRICT
         LONG c = ThreadModel::Decrement(&m_iRef);
-        if (c < -(LONG_MAX / 2))
-        {
-            AssertMsgFailed(("Release called on object which has been already released\n"));
-        }
+        AssertMsg(c >= -(LONG_MAX / 2), /* See  ~CComObjectNoLock, ~CComObject & ~CComAggObject. */
+                  ("Release called on object which has been already destroyed!\n"));
         return c;
 #else
         return ThreadModel::Decrement(&m_iRef);
@@ -1294,11 +1293,11 @@ public:
             // relying on atomic checks. Remember the inherent race!
             if (SUCCEEDED(m_hrc) && !m_pObj)
             {
-                    Lock();
-                    // Make sure that the module is in use, otherwise the
-                    // module can terminate while we're creating a new
-                    // instance, which leads to strange errors.
-                    LockServer(true);
+                Lock();
+                // Make sure that the module is in use, otherwise the
+                // module can terminate while we're creating a new
+                // instance, which leads to strange errors.
+                LockServer(true);
                 __try
                 {
                     // Repeat above test to avoid races when multiple threads
diff --git a/include/VBox/pci.h b/include/VBox/pci.h
index e61fe45..dcc6008 100644
--- a/include/VBox/pci.h
+++ b/include/VBox/pci.h
@@ -91,7 +91,8 @@ typedef enum PCIADDRESSSPACE
  * @remarks Called with the PDM lock held.  The device lock is NOT take because
  *          that is very likely be a lock order violation.
  */
-typedef DECLCALLBACK(int) FNPCIIOREGIONMAP(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType);
+typedef DECLCALLBACK(int) FNPCIIOREGIONMAP(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress,
+                                           RTGCPHYS cb, PCIADDRESSSPACE enmType);
 /** Pointer to a FNPCIIOREGIONMAP() function. */
 typedef FNPCIIOREGIONMAP *PFNPCIIOREGIONMAP;
 
diff --git a/include/VBox/vmm/iom.h b/include/VBox/vmm/iom.h
index de6225f..ec983ed 100644
--- a/include/VBox/vmm/iom.h
+++ b/include/VBox/vmm/iom.h
@@ -335,20 +335,20 @@ VMMR3_INT_DECL(int)  IOMR3IOPortRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT
                                            const char *pszDesc);
 VMMR3_INT_DECL(int)  IOMR3IOPortDeregister(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts);
 
-VMMR3_INT_DECL(int)  IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+VMMR3_INT_DECL(int)  IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                                          R3PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
                                          R3PTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
                                          R3PTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback,
                                          uint32_t fFlags, const char *pszDesc);
-VMMR3_INT_DECL(int)  IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+VMMR3_INT_DECL(int)  IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                                          R0PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
                                          R0PTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
                                          R0PTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback);
-VMMR3_INT_DECL(int)  IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTGCPTR pvUser,
+VMMR3_INT_DECL(int)  IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTGCPTR pvUser,
                                          RCPTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
                                          RCPTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
                                          RCPTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback);
-VMMR3_INT_DECL(int)  IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange);
+VMMR3_INT_DECL(int)  IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange);
 VMMR3_INT_DECL(VBOXSTRICTRC) IOMR3ProcessForceFlag(PVM pVM, PVMCPU pVCpu, VBOXSTRICTRC rcStrict);
 
 VMMR3_INT_DECL(void) IOMR3NotifyBreakpointCountChange(PVM pVM, bool fPortIo, bool fMmio);
diff --git a/include/VBox/vmm/mm.h b/include/VBox/vmm/mm.h
index bbe0ed6..2ffe15d 100644
--- a/include/VBox/vmm/mm.h
+++ b/include/VBox/vmm/mm.h
@@ -293,6 +293,9 @@ VMMR3DECL(int)      MMR3HyperReadGCVirt(PVM pVM, void *pvDst, RTGCPTR GCPtr, siz
  * @todo retire this group, elimintating or moving MMR3PhysGetRamSize to PGMPhys.
  * @{ */
 VMMR3DECL(uint64_t) MMR3PhysGetRamSize(PVM pVM);
+VMMR3DECL(uint32_t) MMR3PhysGetRamSizeBelow4GB(PVM pVM);
+VMMR3DECL(uint64_t) MMR3PhysGetRamSizeAbove4GB(PVM pVM);
+VMMR3DECL(uint32_t) MMR3PhysGet4GBRamHoleSize(PVM pVM);
 /** @} */
 
 
diff --git a/include/VBox/vmm/pdmdev.h b/include/VBox/vmm/pdmdev.h
index 69537f1..8de1268 100644
--- a/include/VBox/vmm/pdmdev.h
+++ b/include/VBox/vmm/pdmdev.h
@@ -568,7 +568,8 @@ typedef struct PDMPCIBUSREG
      * @param   pfnCallback     Callback for doing the mapping.
      * @remarks Caller enters the PDM critical section.
      */
-    DECLR3CALLBACKMEMBER(int, pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
+    DECLR3CALLBACKMEMBER(int, pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, RTGCPHYS cbRegion,
+                                                     PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
 
     /**
      * Register PCI configuration space read/write callbacks.
@@ -586,7 +587,8 @@ typedef struct PDMPCIBUSREG
      * @remarks Caller enters the PDM critical section.
      * @thread  EMT
      */
-    DECLR3CALLBACKMEMBER(void, pfnSetConfigCallbacksR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
+    DECLR3CALLBACKMEMBER(void, pfnSetConfigCallbacksR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev,
+                                                        PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
                                                         PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld));
 
     /**
@@ -623,7 +625,7 @@ typedef struct PDMPCIBUSREG
 typedef PDMPCIBUSREG *PPDMPCIBUSREG;
 
 /** Current PDMPCIBUSREG version number. */
-#define PDM_PCIBUSREG_VERSION                   PDM_VERSION_MAKE(0xfffe, 4, 0)
+#define PDM_PCIBUSREG_VERSION                   PDM_VERSION_MAKE(0xfffe, 5, 0)
 
 /**
  * PCI Bus RC helpers.
@@ -2439,7 +2441,7 @@ typedef struct PDMDEVHLPR3
      * @remarks Caller enters the device critical section prior to invoking the
      *          registered callback methods.
      */
-    DECLR3CALLBACKMEMBER(int, pfnMMIORegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+    DECLR3CALLBACKMEMBER(int, pfnMMIORegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                                                PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead, PFNIOMMMIOFILL pfnFill,
                                                uint32_t fFlags, const char *pszDesc));
 
@@ -2461,7 +2463,7 @@ typedef struct PDMDEVHLPR3
      * @remarks Caller enters the device critical section prior to invoking the
      *          registered callback methods.
      */
-    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterRC,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
+    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterRC,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
                                                  const char *pszWrite, const char *pszRead, const char *pszFill));
 
     /**
@@ -2482,7 +2484,7 @@ typedef struct PDMDEVHLPR3
      * @remarks Caller enters the device critical section prior to invoking the
      *          registered callback methods.
      */
-    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterR0,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterR0,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                                                  const char *pszWrite, const char *pszRead, const char *pszFill));
 
     /**
@@ -2495,7 +2497,7 @@ typedef struct PDMDEVHLPR3
      * @param   GCPhysStart         First physical address in the range.
      * @param   cbRange             The size of the range (in bytes).
      */
-    DECLR3CALLBACKMEMBER(int, pfnMMIODeregister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange));
+    DECLR3CALLBACKMEMBER(int, pfnMMIODeregister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange));
 
     /**
      * Allocate and register a MMIO2 region.
@@ -2518,7 +2520,8 @@ typedef struct PDMDEVHLPR3
      *                              freed.
      * @thread  EMT.
      */
-    DECLR3CALLBACKMEMBER(int, pfnMMIO2Register,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS cb, uint32_t fFlags, void **ppv, const char *pszDesc));
+    DECLR3CALLBACKMEMBER(int, pfnMMIO2Register,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS cb, uint32_t fFlags,
+                                                void **ppv, const char *pszDesc));
 
     /**
      * Deregisters and frees a MMIO2 region.
@@ -3072,7 +3075,7 @@ typedef struct PDMDEVHLPR3
      * @remarks The callback will be invoked holding the PDM lock. The device lock
      *          is NOT take because that is very likely be a lock order violation.
      */
-    DECLR3CALLBACKMEMBER(int, pfnPCIIORegionRegister,(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion,
+    DECLR3CALLBACKMEMBER(int, pfnPCIIORegionRegister,(PPDMDEVINS pDevIns, int iRegion, RTGCPHYS cbRegion,
                                                       PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
 
     /**
@@ -3094,7 +3097,8 @@ typedef struct PDMDEVHLPR3
      *          is NOT take because that is very likely be a lock order violation.
      * @thread  EMT
      */
-    DECLR3CALLBACKMEMBER(void, pfnPCISetConfigCallbacks,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
+    DECLR3CALLBACKMEMBER(void, pfnPCISetConfigCallbacks,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev,
+                                                         PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
                                                          PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld));
 
     /**
@@ -3813,7 +3817,8 @@ typedef R3PTRTYPE(struct PDMDEVHLPR3 *) PPDMDEVHLPR3;
 typedef R3PTRTYPE(const struct PDMDEVHLPR3 *) PCPDMDEVHLPR3;
 
 /** Current PDMDEVHLPR3 version number. */
-#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 16, 0)
+/* 5.0 is (18, 0) so the next version for trunk has to be (19, 0)! */
+#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 17, 0)
 
 
 /**
@@ -4541,7 +4546,7 @@ DECLINLINE(int) PDMDevHlpIOPortDeregister(PPDMDEVINS pDevIns, RTIOPORT Port, RTI
  * @param   pfnRead             Pointer to function which is gonna handle Read operations.
  * @param   pszDesc             Pointer to description string. This must not be freed.
  */
-DECLINLINE(int) PDMDevHlpMMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                                       uint32_t fFlags, PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead, const char *pszDesc)
 {
     return pDevIns->pHlpR3->pfnMMIORegister(pDevIns, GCPhysStart, cbRange, pvUser, pfnWrite, pfnRead, NULL /*pfnFill*/,
@@ -4563,7 +4568,7 @@ DECLINLINE(int) PDMDevHlpMMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart,
  * @param   pszWrite            Name of the RC function which is gonna handle Write operations.
  * @param   pszRead             Name of the RC function which is gonna handle Read operations.
  */
-DECLINLINE(int) PDMDevHlpMMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
                                         const char *pszWrite, const char *pszRead)
 {
     return pDevIns->pHlpR3->pfnMMIORegisterRC(pDevIns, GCPhysStart, cbRange, pvUser, pszWrite, pszRead, NULL /*pszFill*/);
@@ -4586,7 +4591,7 @@ DECLINLINE(int) PDMDevHlpMMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart
  * @remarks Caller enters the device critical section prior to invoking the
  *          registered callback methods.
  */
-DECLINLINE(int) PDMDevHlpMMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                                         const char *pszWrite, const char *pszRead)
 {
     return pDevIns->pHlpR3->pfnMMIORegisterR0(pDevIns, GCPhysStart, cbRange, pvUser, pszWrite, pszRead, NULL /*pszFill*/);
@@ -4595,7 +4600,7 @@ DECLINLINE(int) PDMDevHlpMMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart
 /**
  * @copydoc PDMDEVHLPR3::pfnMMIORegister
  */
-DECLINLINE(int) PDMDevHlpMMIORegisterEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegisterEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                                         uint32_t fFlags, PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead,
                                         PFNIOMMMIOFILL pfnFill, const char *pszDesc)
 {
@@ -4606,7 +4611,7 @@ DECLINLINE(int) PDMDevHlpMMIORegisterEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart
 /**
  * @copydoc PDMDEVHLPR3::pfnMMIORegisterRC
  */
-DECLINLINE(int) PDMDevHlpMMIORegisterRCEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegisterRCEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
                                           const char *pszWrite, const char *pszRead, const char *pszFill)
 {
     return pDevIns->pHlpR3->pfnMMIORegisterRC(pDevIns, GCPhysStart, cbRange, pvUser, pszWrite, pszRead, pszFill);
@@ -4615,7 +4620,7 @@ DECLINLINE(int) PDMDevHlpMMIORegisterRCEx(PPDMDEVINS pDevIns, RTGCPHYS GCPhysSta
 /**
  * @copydoc PDMDEVHLPR3::pfnMMIORegisterR0
  */
-DECLINLINE(int) PDMDevHlpMMIORegisterR0Ex(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+DECLINLINE(int) PDMDevHlpMMIORegisterR0Ex(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                                           const char *pszWrite, const char *pszRead, const char *pszFill)
 {
     return pDevIns->pHlpR3->pfnMMIORegisterR0(pDevIns, GCPhysStart, cbRange, pvUser, pszWrite, pszRead, pszFill);
@@ -4624,7 +4629,7 @@ DECLINLINE(int) PDMDevHlpMMIORegisterR0Ex(PPDMDEVINS pDevIns, RTGCPHYS GCPhysSta
 /**
  * @copydoc PDMDEVHLPR3::pfnMMIODeregister
  */
-DECLINLINE(int) PDMDevHlpMMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange)
+DECLINLINE(int) PDMDevHlpMMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange)
 {
     return pDevIns->pHlpR3->pfnMMIODeregister(pDevIns, GCPhysStart, cbRange);
 }
@@ -4995,7 +5000,7 @@ DECLINLINE(int) PDMDevHlpPCIRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev)
 /**
  * @copydoc PDMDEVHLPR3::pfnPCIIORegionRegister
  */
-DECLINLINE(int) PDMDevHlpPCIIORegionRegister(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion,
+DECLINLINE(int) PDMDevHlpPCIIORegionRegister(PPDMDEVINS pDevIns, int iRegion, RTGCPHYS cbRegion,
                                              PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
 {
     return pDevIns->pHlpR3->pfnPCIIORegionRegister(pDevIns, iRegion, cbRegion, enmType, pfnCallback);
@@ -5012,7 +5017,8 @@ DECLINLINE(int) PDMDevHlpPCIRegisterMsi(PPDMDEVINS pDevIns, PPDMMSIREG pMsiReg)
 /**
  * @copydoc PDMDEVHLPR3::pfnPCISetConfigCallbacks
  */
-DECLINLINE(void) PDMDevHlpPCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
+DECLINLINE(void) PDMDevHlpPCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev,
+                                                PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
                                                 PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld)
 {
     pDevIns->pHlpR3->pfnPCISetConfigCallbacks(pDevIns, pPciDev, pfnRead, ppfnReadOld, pfnWrite, ppfnWriteOld);
diff --git a/include/VBox/vmm/pdmifs.h b/include/VBox/vmm/pdmifs.h
index 9f87314..1cde91c 100644
--- a/include/VBox/vmm/pdmifs.h
+++ b/include/VBox/vmm/pdmifs.h
@@ -713,10 +713,20 @@ typedef struct PDMIDISPLAYPORT
 #endif
 
 
-typedef struct VBOXVHWACMD *PVBOXVHWACMD; /**< @todo r=bird: A line what it is to make doxygen happy. */
+/** Pointer to a 2D graphics acceleration command. */
+typedef struct VBOXVHWACMD *PVBOXVHWACMD;
+/** Pointer to a VBVA command header. */
 typedef struct VBVACMDHDR *PVBVACMDHDR;
+/** Pointer to a const VBVA command header. */
+typedef const struct VBVACMDHDR *PCVBVACMDHDR;
+/** Pointer to a VBVA screen information. */
 typedef struct VBVAINFOSCREEN *PVBVAINFOSCREEN;
+/** Pointer to a const VBVA screen information. */
+typedef const struct VBVAINFOSCREEN *PCVBVAINFOSCREEN;
+/** Pointer to a VBVA guest VRAM area information. */
 typedef struct VBVAINFOVIEW *PVBVAINFOVIEW;
+/** Pointer to a const VBVA guest VRAM area information. */
+typedef const struct VBVAINFOVIEW *PCVBVAINFOVIEW;
 typedef struct VBVAHOSTFLAGS *PVBVAHOSTFLAGS;
 struct VBOXVDMACMD_CHROMIUM_CMD; /* <- chromium [hgsmi] command */
 struct VBOXVDMACMD_CHROMIUM_CTL; /* <- chromium [hgsmi] command */
@@ -917,7 +927,7 @@ typedef struct PDMIDISPLAYCONNECTOR
      *          otherwise - the emulation thread.
      */
     DECLR3CALLBACKMEMBER(void, pfnVBVAUpdateProcess,(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId,
-                                                     const PVBVACMDHDR pCmd, size_t cbCmd));
+                                                     PCVBVACMDHDR pCmd, size_t cbCmd));
 
     /**
      * A sequence of pfnVBVAUpdateProcess calls ends.
@@ -955,7 +965,7 @@ typedef struct PDMIDISPLAYCONNECTOR
      * @thread  if render thread mode is on (fRenderThreadMode that was passed to pfnVBVAEnable is TRUE) - the render thread pfnVBVAEnable was called in,
      *          otherwise - the emulation thread.
      */
-    DECLR3CALLBACKMEMBER(int, pfnVBVAResize,(PPDMIDISPLAYCONNECTOR pInterface, const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, void *pvVRAM, bool fResetInputMapping));
+    DECLR3CALLBACKMEMBER(int, pfnVBVAResize,(PPDMIDISPLAYCONNECTOR pInterface, PCVBVAINFOVIEW pView, PCVBVAINFOSCREEN pScreen, void *pvVRAM, bool fResetInputMapping));
 
     /**
      * Update the pointer shape.
diff --git a/include/iprt/asm.h b/include/iprt/asm.h
index 3dd3f49..9bca79b 100644
--- a/include/iprt/asm.h
+++ b/include/iprt/asm.h
@@ -5211,10 +5211,10 @@ DECLINLINE(unsigned) ASMBitFirstSetU64(uint64_t u64)
     uint64_t iBit;
     __asm__ __volatile__("bsfq %1, %0\n\t"
                          "jnz  1f\n\t"
-                         "xorl %0, %0\n\t"
+                         "xorl %k0, %k0\n\t"
                          "jmp  2f\n"
                          "1:\n\t"
-                         "incl %0\n"
+                         "incl %k0\n"
                          "2:\n\t"
                          : "=r" (iBit)
                          : "rm" (u64));
@@ -5350,11 +5350,11 @@ DECLINLINE(unsigned) ASMBitLastSetU64(uint64_t u64)
 # elif RT_INLINE_ASM_GNU_STYLE && ARCH_BITS == 64
     uint64_t iBit;
     __asm__ __volatile__("bsrq %1, %0\n\t"
-                         "jnz   1f\n\t"
-                         "xorl %0, %0\n\t"
+                         "jnz  1f\n\t"
+                         "xorl %k0, %k0\n\t"
                          "jmp  2f\n"
                          "1:\n\t"
-                         "incl %0\n"
+                         "incl %k0\n"
                          "2:\n\t"
                          : "=r" (iBit)
                          : "rm" (u64));
diff --git a/include/iprt/bldprog-strtab.h b/include/iprt/bldprog-strtab.h
index eb7c805..a7003b4 100644
--- a/include/iprt/bldprog-strtab.h
+++ b/include/iprt/bldprog-strtab.h
@@ -76,7 +76,8 @@ DECLINLINE(ssize_t) RTBldProgStrTabQueryString(PCRTBLDPROGSTRTAB pStrTab, uint32
         /*
          * Could be compressed, decompress it.
          */
-        const char *pchSrc = &pStrTab->pchStrTab[offString];
+        char * const pchDstStart = pszDst;
+        const char  *pchSrc = &pStrTab->pchStrTab[offString];
         while (cchString-- > 0)
         {
             unsigned char uch = *pchSrc++;
@@ -123,7 +124,7 @@ DECLINLINE(ssize_t) RTBldProgStrTabQueryString(PCRTBLDPROGSTRTAB pStrTab, uint32
         }
         AssertReturn(cbDst > 0, VERR_BUFFER_OVERFLOW);
         *pszDst = '\0';
-        return VINF_SUCCESS;
+        return pszDst - pchDstStart;
     }
 
     /*
@@ -132,7 +133,7 @@ DECLINLINE(ssize_t) RTBldProgStrTabQueryString(PCRTBLDPROGSTRTAB pStrTab, uint32
     AssertReturn(cbDst > cchString, VERR_BUFFER_OVERFLOW);
     memcpy(pszDst, &pStrTab->pchStrTab[offString], cchString);
     pszDst[cchString] = '\0';
-    return VINF_SUCCESS;
+    return (ssize_t)cchString;
 }
 
 
diff --git a/src/VBox/Additions/linux/drm/README.testing b/src/VBox/Additions/linux/drm/README.testing
new file mode 100644
index 0000000..71e4c2a
--- /dev/null
+++ b/src/VBox/Additions/linux/drm/README.testing
@@ -0,0 +1,4 @@
+This document lists things which have been known to fail in the past with the drm video driver and which should be tested regularly, e.g. when making code changes or before releases.
+
+ * Test that "auto-resize" is enabled in the GUI if user space supports it.
+ * Test that old versions of Plymouth which do not report rectangles (pre-0.9.0/2014-05-20) update the screen correctly.
diff --git a/src/VBox/Additions/linux/drm/vbox_drv.c b/src/VBox/Additions/linux/drm/vbox_drv.c
index 517f386..8a1cba5 100644
--- a/src/VBox/Additions/linux/drm/vbox_drv.c
+++ b/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -65,7 +65,7 @@ module_param_named(modeset, vbox_modeset, int, 0400);
 
 static struct drm_driver driver;
 
-static DEFINE_PCI_DEVICE_TABLE(pciidlist) =
+static const struct pci_device_id pciidlist[] =
 {
     {0x80ee, 0xbeef, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
     {0, 0, 0},
@@ -244,9 +244,14 @@ static int vbox_master_set(struct drm_device *dev,
     return 0;
 }
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
 static void vbox_master_drop(struct drm_device *dev,
                              struct drm_file *file_priv,
                              bool from_release)
+#else
+static void vbox_master_drop(struct drm_device *dev,
+                             struct drm_file *file_priv)
+#endif
 {
     struct vbox_private *vbox = dev->dev_private;
     vbox->initial_mode_queried = false;
@@ -254,6 +259,10 @@ static void vbox_master_drop(struct drm_device *dev,
     /* Disable VBVA when someone releases master in case the next person tries
      * to do VESA. */
     /** @todo work out if anyone is likely to and whether it will even work. */
+    /* Update: we also disable it because if the new master does not do dirty
+     * rectangle reporting (e.g. old versions of Plymouth) then at least the
+     * first screen will still be updated.  We enable it as soon as we
+     * receive a dirty rectangle report. */
     vbox_disable_accel(vbox);
     mutex_unlock(&vbox->hw_mutex);
 }
diff --git a/src/VBox/Additions/linux/drm/vbox_mode.c b/src/VBox/Additions/linux/drm/vbox_mode.c
index 36a4d15..031c8a5 100644
--- a/src/VBox/Additions/linux/drm/vbox_mode.c
+++ b/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -260,10 +260,6 @@ static int vbox_crtc_mode_set(struct drm_crtc *crtc,
     LogFunc(("vboxvideo: %d: vbox=%p\n", __LINE__, vbox));
     vbox_crtc_mode_set_base(crtc, x, y, old_fb);
     mutex_lock(&vbox->hw_mutex);
-    /* Disable VBVA when someone sets a new mode until they send us dirty
-     * rectangles, which proves that they can.  A single screen can work
-     * without VBVA. */
-    vbox_disable_accel(vbox);
     rc = vbox_set_view(crtc);
     if (!rc)
         vbox_do_modeset(crtc, mode);
diff --git a/src/VBox/Additions/linux/drm/vbox_ttm.c b/src/VBox/Additions/linux/drm/vbox_ttm.c
index 3b8cedb..74f9f5a 100644
--- a/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ b/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -221,7 +221,11 @@ static int vbox_bo_move(struct ttm_buffer_object *bo,
                struct ttm_mem_reg *new_mem)
 {
     int r;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
     r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem);
+#else
+    r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
+#endif
     return r;
 }
 
diff --git a/src/VBox/Additions/linux/installer/vboxadd.sh b/src/VBox/Additions/linux/installer/vboxadd.sh
index 759a247..f72e32f 100755
--- a/src/VBox/Additions/linux/installer/vboxadd.sh
+++ b/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Linux Additions kernel module init script ($Revision: 109440 $)
+# Linux Additions kernel module init script ($Revision: 110520 $)
 #
 
 #
@@ -289,6 +289,7 @@ cleanup_modules()
     for i in /lib/modules/*/misc; do
         test -d "${i}" && rmdir -p "${i}" 2>/dev/null
     done
+    rm -f /etc/depmod.d/vboxvideo-upstream.conf
     succ_msg
 }
 
@@ -327,6 +328,7 @@ setup_modules()
         show_error "Look at $LOG to find out what went wrong"
     fi
     succ_msg
+    echo "override vboxvideo * misc" > /etc/depmod.d/vboxvideo-upstream.conf
     depmod
     return 0
 }
diff --git a/src/VBox/Devices/Audio/AudioMixer.cpp b/src/VBox/Devices/Audio/AudioMixer.cpp
index 120184b..f3474b9 100644
--- a/src/VBox/Devices/Audio/AudioMixer.cpp
+++ b/src/VBox/Devices/Audio/AudioMixer.cpp
@@ -75,7 +75,9 @@ int AudioMixerCreateSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR
     AssertPtrReturn(pszName, VERR_INVALID_POINTER);
     /* ppSink is optional. */
 
-    int rc = VINF_SUCCESS;
+    int rc = RTCritSectEnter(&pMixer->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
 
     PAUDMIXSINK pSink = (PAUDMIXSINK)RTMemAllocZ(sizeof(AUDMIXSINK));
     if (pSink)
@@ -85,6 +87,9 @@ int AudioMixerCreateSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR
             rc = VERR_NO_MEMORY;
 
         if (RT_SUCCESS(rc))
+            rc = RTCritSectInit(&pSink->CritSect);
+
+        if (RT_SUCCESS(rc))
         {
             pSink->pParent  = pMixer;
             pSink->enmDir   = enmDir;
@@ -109,12 +114,24 @@ int AudioMixerCreateSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR
             if (ppSink)
                 *ppSink = pSink;
         }
-        else
-            RTMemFree(pSink);
+
+        if (RT_FAILURE(rc))
+        {
+            RTCritSectDelete(&pSink->CritSect);
+
+            if (pSink)
+            {
+                RTMemFree(pSink);
+                pSink = NULL;
+            }
+        }
     }
     else
         rc = VERR_NO_MEMORY;
 
+    int rc2 = RTCritSectLeave(&pMixer->CritSect);
+    AssertRC(rc2);
+
     return rc;
 }
 
@@ -143,6 +160,9 @@ int AudioMixerCreate(const char *pszName, uint32_t fFlags, PAUDIOMIXER *ppMixer)
             rc = VERR_NO_MEMORY;
 
         if (RT_SUCCESS(rc))
+            rc = RTCritSectInit(&pMixer->CritSect);
+
+        if (RT_SUCCESS(rc))
         {
             pMixer->cSinks = 0;
             RTListInit(&pMixer->lstSinks);
@@ -166,6 +186,7 @@ int AudioMixerCreate(const char *pszName, uint32_t fFlags, PAUDIOMIXER *ppMixer)
     return rc;
 }
 
+#ifdef DEBUG
 /**
  * Helper function for the internal debugger to print the mixer's current
  * state, along with the attached sinks.
@@ -180,6 +201,10 @@ void AudioMixerDebug(PAUDIOMIXER pMixer, PCDBGFINFOHLP pHlp, const char *pszArgs
     PAUDMIXSINK pSink;
     unsigned    iSink = 0;
 
+    int rc2 = RTCritSectEnter(&pMixer->CritSect);
+    if (RT_FAILURE(rc2))
+        return;
+
     pHlp->pfnPrintf(pHlp, "[Master] %s: lVol=%u, rVol=%u, fMuted=%RTbool\n", pMixer->pszName,
                     pMixer->VolMaster.uLeft, pMixer->VolMaster.uRight, pMixer->VolMaster.fMuted);
 
@@ -189,7 +214,11 @@ void AudioMixerDebug(PAUDIOMIXER pMixer, PCDBGFINFOHLP pHlp, const char *pszArgs
                         pSink->Volume.uLeft, pSink->Volume.uRight, pSink->Volume.fMuted);
         ++iSink;
     }
+
+    rc2 = RTCritSectLeave(&pMixer->CritSect);
+    AssertRC(rc2);
 }
+#endif
 
 /**
  * Destroys an audio mixer.
@@ -201,6 +230,9 @@ void AudioMixerDestroy(PAUDIOMIXER pMixer)
     if (!pMixer)
         return;
 
+    int rc2 = RTCritSectEnter(&pMixer->CritSect);
+    AssertRC(rc2);
+
     LogFlowFunc(("Destroying %s ...\n", pMixer->pszName));
 
     PAUDMIXSINK pSink, pSinkNext;
@@ -222,6 +254,11 @@ void AudioMixerDestroy(PAUDIOMIXER pMixer)
         pMixer->pszName = NULL;
     }
 
+    rc2 = RTCritSectLeave(&pMixer->CritSect);
+    AssertRC(rc2);
+
+    RTCritSectDelete(&pMixer->CritSect);
+
     RTMemFree(pMixer);
     pMixer = NULL;
 }
@@ -259,9 +296,15 @@ void AudioMixerInvalidate(PAUDIOMIXER pMixer)
 {
     AssertPtrReturnVoid(pMixer);
 
+    int rc2 = RTCritSectEnter(&pMixer->CritSect);
+    AssertRC(rc2);
+
     LogFlowFunc(("[%s]\n", pMixer->pszName));
 
-    int rc2 = audioMixerInvalidateInternal(pMixer);
+    rc2 = audioMixerInvalidateInternal(pMixer);
+    AssertRC(rc2);
+
+    rc2 = RTCritSectLeave(&pMixer->CritSect);
     AssertRC(rc2);
 }
 
@@ -305,8 +348,13 @@ static int audioMixerRemoveSinkInternal(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
 
 void AudioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
 {
+    int rc2 = RTCritSectEnter(&pMixer->CritSect);
+    AssertRC(rc2);
+
     audioMixerSinkRemoveAllStreamsInternal(pSink);
     audioMixerRemoveSinkInternal(pMixer, pSink);
+
+    rc2 = RTCritSectLeave(&pMixer->CritSect);
 }
 
 /**
@@ -321,13 +369,22 @@ int AudioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol)
     AssertPtrReturn(pMixer, VERR_INVALID_POINTER);
     AssertPtrReturn(pVol,   VERR_INVALID_POINTER);
 
+    int rc = RTCritSectEnter(&pMixer->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     memcpy(&pMixer->VolMaster, pVol, sizeof(PDMAUDIOVOLUME));
 
     LogFlowFunc(("[%s]: lVol=%RU32, rVol=%RU32 => fMuted=%RTbool, lVol=%RU32, rVol=%RU32\n",
                  pMixer->pszName, pVol->uLeft, pVol->uRight,
                  pMixer->VolMaster.fMuted, pMixer->VolMaster.uLeft, pMixer->VolMaster.uRight));
 
-    return audioMixerInvalidateInternal(pMixer);
+    rc = audioMixerInvalidateInternal(pMixer);
+
+    int rc2 = RTCritSectLeave(&pMixer->CritSect);
+    AssertRC(rc2);
+
+    return rc;
 }
 
 /*********************************************************************************************************************************
@@ -346,10 +403,17 @@ int AudioMixerSinkAddStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
     AssertPtrReturn(pSink,   VERR_INVALID_POINTER);
     AssertPtrReturn(pStream, VERR_INVALID_POINTER);
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     if (pSink->cStreams == UINT8_MAX) /* 255 streams per sink max. */
-        return VERR_NO_MORE_HANDLES;
+    {
+        int rc2 = RTCritSectLeave(&pSink->CritSect);
+        AssertRC(rc2);
 
-    int rc;
+        return VERR_NO_MORE_HANDLES;
+    }
 
     LogFlowFuncEnter();
 
@@ -412,8 +476,7 @@ int AudioMixerSinkAddStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
 
         /* Apply the sink's combined volume to the stream. */
         AssertPtr(pStream->pConn);
-        int rc2 = pStream->pConn->pfnStreamSetVolume(pStream->pConn, pStream->pStream, &pSink->VolumeCombined);
-        AssertRC(rc2);
+        rc = pStream->pConn->pfnStreamSetVolume(pStream->pConn, pStream->pStream, &pSink->VolumeCombined);
 
         /* Save pointer to sink the stream is attached to. */
         pStream->pSink = pSink;
@@ -424,6 +487,10 @@ int AudioMixerSinkAddStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
     }
 
     LogFlowFunc(("[%s]: cStreams=%RU8, rc=%Rrc\n", pSink->pszName, pSink->cStreams, rc));
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     return rc;
 }
 
@@ -457,6 +524,10 @@ int AudioMixerSinkCreateStream(PAUDMIXSINK pSink,
         return VERR_NO_MEMORY;
     }
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     LogFlowFunc(("[%s]: fFlags=0x%x (enmDir=%d, %s, %RU8 channels, %RU32Hz)\n",
                  pSink->pszName, fFlags, pCfg->enmDir, DrvAudioHlpAudFmtToStr(pCfg->enmFormat), pCfg->cChannels, pCfg->uHz));
 
@@ -465,7 +536,7 @@ int AudioMixerSinkCreateStream(PAUDMIXSINK pSink,
      * Always use the sink's PCM audio format as the host side when creating a stream for it.
      */
     PDMAUDIOSTREAMCFG CfgHost;
-    int rc = DrvAudioHlpPCMPropsToStreamCfg(&pSink->PCMProps, &CfgHost);
+    rc = DrvAudioHlpPCMPropsToStreamCfg(&pSink->PCMProps, &CfgHost);
     AssertRCReturn(rc, rc);
 
     /* Apply the sink's direction for the configuration to use to
@@ -483,16 +554,20 @@ int AudioMixerSinkCreateStream(PAUDMIXSINK pSink,
 
     RTStrPrintf(CfgHost.szName, sizeof(CfgHost.szName), "%s", pCfg->szName);
 
-    PPDMAUDIOSTREAM pStream;
-    rc = pConn->pfnStreamCreate(pConn, &CfgHost, pCfg, &pStream);
+    rc = RTCritSectInit(&pMixStream->CritSect);
     if (RT_SUCCESS(rc))
     {
-        /* Save the audio stream pointer to this mixing stream. */
-        pMixStream->pStream = pStream;
+        PPDMAUDIOSTREAM pStream;
+        rc = pConn->pfnStreamCreate(pConn, &CfgHost, pCfg, &pStream);
+        if (RT_SUCCESS(rc))
+        {
+            /* Save the audio stream pointer to this mixing stream. */
+            pMixStream->pStream = pStream;
 
-        /* Increase the stream's reference count to let others know
-         * we're reyling on it to be around now. */
-        pConn->pfnStreamRetain(pConn, pStream);
+            /* Increase the stream's reference count to let others know
+             * we're reyling on it to be around now. */
+            pConn->pfnStreamRetain(pConn, pStream);
+        }
     }
 
     if (RT_SUCCESS(rc))
@@ -505,6 +580,9 @@ int AudioMixerSinkCreateStream(PAUDMIXSINK pSink,
     }
     else if (pMixStream)
     {
+        int rc2 = RTCritSectDelete(&pMixStream->CritSect);
+        AssertRC(rc2);
+
         if (pMixStream->pszName)
         {
             RTStrFree(pMixStream->pszName);
@@ -515,6 +593,9 @@ int AudioMixerSinkCreateStream(PAUDMIXSINK pSink,
         pMixStream = NULL;
     }
 
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     return rc;
 }
 
@@ -555,7 +636,9 @@ int AudioMixerSinkCtl(PAUDMIXSINK pSink, AUDMIXSINKCMD enmSinkCmd)
     if (enmCmdStream == PDMAUDIOSTREAMCMD_UNKNOWN)
         return VERR_NOT_SUPPORTED;
 
-    int rc = VINF_SUCCESS;
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
 
     PAUDMIXSTREAM pStream;
     RTListForEach(&pSink->lstStreams, pStream, AUDMIXSTREAM, Node)
@@ -582,6 +665,10 @@ int AudioMixerSinkCtl(PAUDMIXSINK pSink, AUDMIXSINKCMD enmSinkCmd)
         audioMixerSinkReset(pSink);
 
     LogFlowFunc(("[%s]: enmCmd=%d, fStatus=0x%x, rc=%Rrc\n", pSink->pszName, enmSinkCmd, pSink->fStatus, rc));
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     return rc;
 }
 
@@ -595,6 +682,9 @@ void AudioMixerSinkDestroy(PAUDMIXSINK pSink)
     if (!pSink)
         return;
 
+    int rc2 = RTCritSectEnter(&pSink->CritSect);
+    AssertRC(rc2);
+
     if (pSink->pParent)
     {
         /* Save sink pointer, as after audioMixerRemoveSinkInternal() the
@@ -607,6 +697,9 @@ void AudioMixerSinkDestroy(PAUDMIXSINK pSink)
         pMixer->cSinks--;
     }
 
+    rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     audioMixerSinkDestroyInternal(pSink);
 }
 
@@ -655,12 +748,24 @@ uint32_t AudioMixerSinkGetReadable(PAUDMIXSINK pSink)
 
     AssertMsg(pSink->enmDir == AUDMIXSINKDIR_INPUT, ("Can't read from a non-input sink\n"));
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return 0;
+
+    uint32_t cbReadable;
+
 #ifdef VBOX_AUDIO_MIXER_WITH_MIXBUF
 # error "Implement me!"
 #else
-    Log3Func(("[%s]: cbReadable=%RU32\n", pSink->pszName, pSink->In.cbReadable));
-    return pSink->In.cbReadable;
+    cbReadable = pSink->In.cbReadable;
 #endif
+
+    Log3Func(("[%s]: cbReadable=%RU32\n", pSink->pszName, cbReadable));
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return cbReadable;
 }
 
 /**
@@ -676,12 +781,24 @@ uint32_t AudioMixerSinkGetWritable(PAUDMIXSINK pSink)
 
     AssertMsg(pSink->enmDir == AUDMIXSINKDIR_OUTPUT, ("Can't write to a non-output sink\n"));
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return 0;
+
+    uint32_t cbWritable;
+
 #ifdef VBOX_AUDIO_MIXER_WITH_MIXBUF
 # error "Implement me!"
 #else
-    Log3Func(("[%s]: cbWritable=%RU32\n", pSink->pszName, pSink->Out.cbWritable));
-    return pSink->Out.cbWritable;
+    cbWritable = pSink->Out.cbWritable;
 #endif
+
+    Log3Func(("[%s]: cbWritable=%RU32\n", pSink->pszName, cbWritable));
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return cbWritable;
 }
 
 /**
@@ -693,7 +810,17 @@ uint32_t AudioMixerSinkGetWritable(PAUDMIXSINK pSink)
 AUDMIXSINKDIR AudioMixerSinkGetDir(PAUDMIXSINK pSink)
 {
     AssertPtrReturn(pSink, AUDMIXSINKDIR_UNKNOWN);
-    return pSink->enmDir;
+
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return AUDMIXSINKDIR_UNKNOWN;
+
+    AUDMIXSINKDIR enmDir = pSink->enmDir;
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return enmDir;
 }
 
 /**
@@ -706,6 +833,11 @@ AUDMIXSINKDIR AudioMixerSinkGetDir(PAUDMIXSINK pSink)
 PAUDMIXSTREAM AudioMixerSinkGetStream(PAUDMIXSINK pSink, uint8_t uIndex)
 {
     AssertPtrReturn(pSink, NULL);
+
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return NULL;
+
     AssertMsgReturn(uIndex < pSink->cStreams,
                     ("Index %RU8 exceeds stream count (%RU8)", uIndex, pSink->cStreams), NULL);
 
@@ -717,6 +849,11 @@ PAUDMIXSTREAM AudioMixerSinkGetStream(PAUDMIXSINK pSink, uint8_t uIndex)
         uIndex--;
     }
 
+    /** @todo Do we need to raise the stream's reference count here? */
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     AssertPtr(pStream);
     return pStream;
 }
@@ -724,24 +861,33 @@ PAUDMIXSTREAM AudioMixerSinkGetStream(PAUDMIXSINK pSink, uint8_t uIndex)
 /**
  * Returns the current status of a mixer sink.
  *
- * @returns IPRT status code.
+ * @returns The sink's current status.
  * @param   pSink               Mixer sink to return status for.
  */
 AUDMIXSINKSTS AudioMixerSinkGetStatus(PAUDMIXSINK pSink)
 {
     if (!pSink)
-        return false;
+        return AUDMIXSINK_STS_NONE;
+
+    int rc2 = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc2))
+        return AUDMIXSINK_STS_NONE;
 
     LogFlowFunc(("[%s]: fStatus=0x%x\n", pSink->pszName, pSink->fStatus));
 
     /* If the dirty flag is set, there is unprocessed data in the sink. */
-    return pSink->fStatus;
+    AUDMIXSINKSTS stsSink = pSink->fStatus;
+
+    rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return stsSink;
 }
 
 /**
  * Returns the number of attached mixer streams to a mixer sink.
  *
- * @returns IPRT status code.
+ * @returns The number of attached mixer streams.
  * @param   pSink               Mixer sink to return number for.
  */
 uint8_t AudioMixerSinkGetStreamCount(PAUDMIXSINK pSink)
@@ -749,7 +895,16 @@ uint8_t AudioMixerSinkGetStreamCount(PAUDMIXSINK pSink)
     if (!pSink)
         return 0;
 
-    return pSink->cStreams;
+    int rc2 = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc2))
+        return 0;
+
+    uint8_t cStreams = pSink->cStreams;
+
+    rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return cStreams;
 }
 
 /**
@@ -772,16 +927,24 @@ int AudioMixerSinkRead(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t
 
     /** @todo Handle mixing operation enmOp! */
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     AssertMsg(pSink->enmDir == AUDMIXSINKDIR_INPUT,
               ("Can't read from a sink which is not an input sink\n"));
 
 #ifndef VBOX_AUDIO_MIXER_WITH_MIXBUF
     uint8_t *pvMixBuf = (uint8_t *)RTMemAlloc(cbBuf);
     if (!pvMixBuf)
+    {
+        int rc2 = RTCritSectLeave(&pSink->CritSect);
+        AssertRC(rc2);
+
         return VERR_NO_MEMORY;
+    }
 #endif
 
-    int rc = VERR_NOT_FOUND;
     uint32_t cbRead = 0;
 
     /* Flag indicating whether this sink is in a 'clean' state,
@@ -793,22 +956,29 @@ int AudioMixerSinkRead(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t
     {
         if (!(pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_ENABLED))
         {
-            LogFlowFunc(("%s: Stream '%s' Disabled, skipping ...\n", pMixStream->pszName, pMixStream->pStream->szName));
+            Log3Func(("[%s] Stream '%s' disabled, skipping ...\n", pSink->pszName, pMixStream->pszName));
             continue;
         }
 
         uint32_t cbTotalRead = 0;
         uint32_t cbToRead    = cbBuf;
 
+        int rc2 = VINF_SUCCESS;
+
         while (cbToRead)
         {
             uint32_t cbReadStrm;
             AssertPtr(pMixStream->pConn);
-#ifndef VBOX_AUDIO_MIXER_WITH_MIXBUF
-            rc = pMixStream->pConn->pfnStreamRead(pMixStream->pConn, pMixStream->pStream,
-                                                  (uint8_t *)pvMixBuf + cbTotalRead, cbToRead, &cbReadStrm);
+#ifdef VBOX_AUDIO_MIXER_WITH_MIXBUF
+# error "Implement me!"
+#else
+            rc2 = pMixStream->pConn->pfnStreamRead(pMixStream->pConn, pMixStream->pStream,
+                                                   (uint8_t *)pvMixBuf + cbTotalRead, cbToRead, &cbReadStrm);
 #endif
-            if (   RT_FAILURE(rc)
+            if (RT_FAILURE(rc2))
+                Log3Func(("[%s] Failed reading from stream '%s': %Rrc\n", pSink->pszName, pMixStream->pszName, rc2));
+
+            if (   RT_FAILURE(rc2)
                 || !cbReadStrm)
                 break;
 
@@ -819,7 +989,7 @@ int AudioMixerSinkRead(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t
             cbTotalRead += cbReadStrm;
         }
 
-        if (RT_FAILURE(rc))
+        if (RT_FAILURE(rc2))
             continue;
 
         cbRead = RT_MAX(cbRead, cbTotalRead);
@@ -833,7 +1003,9 @@ int AudioMixerSinkRead(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t
         if (fClean)
             pSink->fStatus &= ~AUDMIXSINK_STS_DIRTY;
 
-#ifndef VBOX_AUDIO_MIXER_WITH_MIXBUF
+#ifdef VBOX_AUDIO_MIXER_WITH_MIXBUF
+# error "Implement me!"
+#else
         if (cbRead)
             memcpy(pvBuf, pvMixBuf, cbRead);
 #endif
@@ -845,7 +1017,11 @@ int AudioMixerSinkRead(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t
     RTMemFree(pvMixBuf);
 #endif
 
-    Log3Func(("[%s]: cbRead=%RU32, fStatus=0x%x, rc=%Rrc\n", pSink->pszName, cbRead, pSink->fStatus, rc));
+    Log3Func(("[%s] cbRead=%RU32, fStatus=0x%x, rc=%Rrc\n", pSink->pszName, cbRead, pSink->fStatus, rc));
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     return rc;
 }
 
@@ -893,12 +1069,18 @@ static int audioMixerSinkRemoveStreamInternal(PAUDMIXSINK pSink, PAUDMIXSTREAM p
  */
 void AudioMixerSinkRemoveStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
 {
-    int rc = audioMixerSinkRemoveStreamInternal(pSink, pStream);
-    if (RT_SUCCESS(rc))
+    int rc2 = RTCritSectEnter(&pSink->CritSect);
+    AssertRC(rc2);
+
+    rc2 = audioMixerSinkRemoveStreamInternal(pSink, pStream);
+    if (RT_SUCCESS(rc2))
     {
         Assert(pSink->cStreams);
         pSink->cStreams--;
     }
+
+    rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
 }
 
 /**
@@ -964,9 +1146,15 @@ void AudioMixerSinkRemoveAllStreams(PAUDMIXSINK pSink)
     if (!pSink)
         return;
 
+    int rc2 = RTCritSectEnter(&pSink->CritSect);
+    AssertRC(rc2);
+
     audioMixerSinkRemoveAllStreamsInternal(pSink);
 
     pSink->cStreams = 0;
+
+    rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
 }
 
 /**
@@ -981,8 +1169,17 @@ int AudioMixerSinkSetFormat(PAUDMIXSINK pSink, PPDMAUDIOPCMPROPS pPCMProps)
     AssertPtrReturn(pSink,     VERR_INVALID_POINTER);
     AssertPtrReturn(pPCMProps, VERR_INVALID_POINTER);
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     if (DrvAudioHlpPCMPropsAreEqual(&pSink->PCMProps, pPCMProps)) /* Bail out early if PCM properties are equal. */
-        return VINF_SUCCESS;
+    {
+        rc = RTCritSectLeave(&pSink->CritSect);
+        AssertRC(rc);
+
+        return rc;
+    }
 
     if (pSink->PCMProps.uHz)
         LogFlowFunc(("[%s]: Old format: %RU8 bit, %RU8 channels, %RU32Hz\n",
@@ -993,8 +1190,6 @@ int AudioMixerSinkSetFormat(PAUDMIXSINK pSink, PPDMAUDIOPCMPROPS pPCMProps)
     LogFlowFunc(("[%s]: New format %RU8 bit, %RU8 channels, %RU32Hz\n",
                  pSink->pszName, pSink->PCMProps.cBits, pSink->PCMProps.cChannels, pSink->PCMProps.uHz));
 
-    int rc = VINF_SUCCESS;
-
 #ifdef VBOX_AUDIO_MIXER_WITH_MIXBUF
     /* Also update the sink's mixing buffer format. */
     AudioMixBufDestroy(&pSink->MixBuf);
@@ -1009,6 +1204,9 @@ int AudioMixerSinkSetFormat(PAUDMIXSINK pSink, PPDMAUDIOPCMPROPS pPCMProps)
     }
 #endif /* VBOX_AUDIO_MIXER_WITH_MIXBUF */
 
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
     LogFlowFuncLeaveRC(rc);
     return rc;
 }
@@ -1025,13 +1223,22 @@ int AudioMixerSinkSetVolume(PAUDMIXSINK pSink, PPDMAUDIOVOLUME pVol)
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
     AssertPtrReturn(pVol,  VERR_INVALID_POINTER);
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     memcpy(&pSink->Volume, pVol, sizeof(PDMAUDIOVOLUME));
 
     LogFlowFunc(("[%s]: fMuted=%RTbool, lVol=%RU32, rVol=%RU32\n",
                  pSink->pszName, pSink->Volume.fMuted, pSink->Volume.uLeft, pSink->Volume.uRight));
 
     AssertPtr(pSink->pParent);
-    return audioMixerSinkUpdateVolume(pSink, &pSink->pParent->VolMaster);
+    rc = audioMixerSinkUpdateVolume(pSink, &pSink->pParent->VolMaster);
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return rc;
 }
 
 /**
@@ -1193,6 +1400,10 @@ int AudioMixerSinkUpdate(PAUDMIXSINK pSink)
 {
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     /*
      * Note: Hz elapsed     = cTicksElapsed / cTimerTicks
      *       Bytes / second = Sample rate (Hz) * Audio channels * Bytes per sample
@@ -1202,7 +1413,12 @@ int AudioMixerSinkUpdate(PAUDMIXSINK pSink)
 //    LogFlowFunc(("[%s]: cTimerTicks=%RU64, cTicksElapsed=%RU64\n", pSink->pszName, cTimerTicks, cTicksElapsed));
 //    LogFlowFunc(("\t%zuHz elapsed, %RU32 samples (%RU32 bytes)\n", cTicksElapsed / cTimerTicks, cSamples, cSamples << 1));
 
-    return audioMixerSinkUpdateInternal(pSink);
+    rc = audioMixerSinkUpdateInternal(pSink);
+
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return rc;
 }
 
 /**
@@ -1269,6 +1485,10 @@ int AudioMixerSinkWrite(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, ui
         return VINF_SUCCESS;
     }
 
+    int rc = RTCritSectEnter(&pSink->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
     AssertMsg(pSink->enmDir == AUDMIXSINKDIR_OUTPUT,
               ("Can't write to a sink which is not an output sink\n"));
 
@@ -1305,7 +1525,10 @@ int AudioMixerSinkWrite(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, ui
     if (pcbWritten)
         *pcbWritten = cbBuf; /* Always report back a complete write for now. */
 
-    return VINF_SUCCESS;
+    int rc2 = RTCritSectLeave(&pSink->CritSect);
+    AssertRC(rc2);
+
+    return rc;
 }
 
 /*********************************************************************************************************************************
@@ -1326,9 +1549,21 @@ int AudioMixerStreamCtl(PAUDMIXSTREAM pMixStream, PDMAUDIOSTREAMCMD enmCmd, uint
     AssertPtrReturn(pMixStream, VERR_INVALID_POINTER);
     /** @todo Validate fCtl. */
 
-    LogFlowFunc(("[%s] enmCmd=%d\n", pMixStream->pszName, enmCmd));
+    int rc = RTCritSectEnter(&pMixStream->CritSect);
+    if (RT_FAILURE(rc))
+        return rc;
+
+    AssertPtr(pMixStream->pConn);
+    AssertPtr(pMixStream->pStream);
+
+    rc = pMixStream->pConn->pfnStreamControl(pMixStream->pConn, pMixStream->pStream, enmCmd);
 
-    return pMixStream->pConn->pfnStreamControl(pMixStream->pConn, pMixStream->pStream, enmCmd);
+    LogFlowFunc(("[%s] enmCmd=%ld, rc=%Rrc\n", pMixStream->pszName, enmCmd, rc));
+
+    int rc2 = RTCritSectLeave(&pMixStream->CritSect);
+    AssertRC(rc2);
+
+    return rc;
 }
 
 /**
@@ -1361,6 +1596,9 @@ static void audioMixerStreamDestroyInternal(PAUDMIXSTREAM pMixStream)
         pMixStream->pszName = NULL;
     }
 
+    int rc2 = RTCritSectDelete(&pMixStream->CritSect);
+    AssertRC(rc2);
+
     RTMemFree(pMixStream);
     pMixStream = NULL;
 }
@@ -1375,9 +1613,10 @@ void AudioMixerStreamDestroy(PAUDMIXSTREAM pMixStream)
     if (!pMixStream)
         return;
 
-    LogFunc(("%s\n", pMixStream->pszName));
+    int rc2 = RTCritSectEnter(&pMixStream->CritSect);
+    AssertRC(rc2);
 
-    int rc;
+    LogFunc(("%s\n", pMixStream->pszName));
 
     if (pMixStream->pSink) /* Is the stream part of a sink? */
     {
@@ -1385,20 +1624,26 @@ void AudioMixerStreamDestroy(PAUDMIXSTREAM pMixStream)
          * pointer will be gone from the stream. */
         PAUDMIXSINK pSink = pMixStream->pSink;
 
-        rc = audioMixerSinkRemoveStreamInternal(pSink, pMixStream);
-        if (RT_SUCCESS(rc))
+        rc2 = audioMixerSinkRemoveStreamInternal(pSink, pMixStream);
+        if (RT_SUCCESS(rc2))
         {
             Assert(pSink->cStreams);
             pSink->cStreams--;
         }
     }
     else
-        rc = VINF_SUCCESS;
+        rc2 = VINF_SUCCESS;
 
-    if (RT_SUCCESS(rc))
+    int rc3 = RTCritSectLeave(&pMixStream->CritSect);
+    AssertRC(rc3);
+
+    if (RT_SUCCESS(rc2))
+    {
         audioMixerStreamDestroyInternal(pMixStream);
+        pMixStream = NULL;
+    }
 
-    LogFlowFunc(("Returning %Rrc\n", rc));
+    LogFlowFunc(("Returning %Rrc\n", rc2));
 }
 
 /**
@@ -1409,9 +1654,26 @@ void AudioMixerStreamDestroy(PAUDMIXSTREAM pMixStream)
  */
 bool AudioMixerStreamIsActive(PAUDMIXSTREAM pMixStream)
 {
-    bool fIsActive =
-           pMixStream
-        && RT_BOOL(pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_ENABLED);
+    int rc2 = RTCritSectEnter(&pMixStream->CritSect);
+    if (RT_FAILURE(rc2))
+        return false;
+
+    AssertPtr(pMixStream->pConn);
+    AssertPtr(pMixStream->pStream);
+
+    bool fIsActive;
+
+    if (   pMixStream->pConn
+        && pMixStream->pStream
+        && RT_BOOL(pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_ENABLED))
+    {
+        fIsActive = true;
+    }
+    else
+        fIsActive = false;
+
+    rc2 = RTCritSectLeave(&pMixStream->CritSect);
+    AssertRC(rc2);
 
     return fIsActive;
 }
@@ -1424,9 +1686,26 @@ bool AudioMixerStreamIsActive(PAUDMIXSTREAM pMixStream)
  */
 bool AudioMixerStreamIsValid(PAUDMIXSTREAM pMixStream)
 {
-    bool fIsValid =
-           pMixStream
-        && RT_BOOL(pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_INITIALIZED);
+    if (!pMixStream)
+        return false;
+
+    int rc2 = RTCritSectEnter(&pMixStream->CritSect);
+    if (RT_FAILURE(rc2))
+        return false;
+
+    bool fIsValid;
+
+    if (   pMixStream->pConn
+        && pMixStream->pStream
+        && RT_BOOL(pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_INITIALIZED))
+    {
+        fIsValid = true;
+    }
+    else
+        fIsValid = false;
+
+    rc2 = RTCritSectLeave(&pMixStream->CritSect);
+    AssertRC(rc2);
 
     return fIsValid;
 }
diff --git a/src/VBox/Devices/Audio/AudioMixer.h b/src/VBox/Devices/Audio/AudioMixer.h
index ca4a66f..6b64609 100644
--- a/src/VBox/Devices/Audio/AudioMixer.h
+++ b/src/VBox/Devices/Audio/AudioMixer.h
@@ -21,6 +21,8 @@
 #define AUDIO_MIXER_H
 
 #include <iprt/cdefs.h>
+#include <iprt/critsect.h>
+
 #include <VBox/vmm/pdmaudioifs.h>
 
 /**
@@ -28,12 +30,10 @@
  */
 typedef struct AUDIOMIXER
 {
-    /** Mixer name. */
+    /** The mixer's name. */
     char                   *pszName;
-    /** Format the mixer should convert/output
-     *  data to so that the underlying device emulation
-     *  can work with it. */
-    PDMAUDIOSTREAMCFG       devFmt;
+    /** The mixer's critical section. */
+    RTCRITSECT              CritSect;
     /** The master volume of this mixer. */
     PDMAUDIOVOLUME          VolMaster;
     /** List of audio mixer sinks. */
@@ -57,6 +57,8 @@ typedef struct AUDMIXSTREAM
     RTLISTNODE              Node;
     /** Name of this stream. */
     char                   *pszName;
+    /** The streams's critical section. */
+    RTCRITSECT              CritSect;
     /** Sink this stream is attached to. */
     PAUDMIXSINK             pSink;
     /** Stream flags of type AUDMIXSTREAM_FLAG_. */
@@ -163,6 +165,8 @@ typedef struct AUDMIXSINK
     /** The sink direction, that is,
      *  if this sink handles input or output. */
     AUDMIXSINKDIR           enmDir;
+    /** The sink's critical section. */
+    RTCRITSECT              CritSect;
     /** Union for input/output specifics. */
     union
     {
@@ -213,7 +217,9 @@ void AudioMixerDestroy(PAUDIOMIXER pMixer);
 void AudioMixerInvalidate(PAUDIOMIXER pMixer);
 void AudioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink);
 int AudioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol);
+#ifdef DEBUG
 void AudioMixerDebug(PAUDIOMIXER pMixer, PCDBGFINFOHLP pHlp, const char *pszArgs);
+#endif
 
 int AudioMixerSinkAddStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream);
 int AudioMixerSinkCreateStream(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOSTREAMCFG pCfg, uint32_t fFlags, PAUDMIXSTREAM *ppStream);
diff --git a/src/VBox/Devices/Audio/DevIchAc97.cpp b/src/VBox/Devices/Audio/DevIchAc97.cpp
index fb0a15c..ff8db5c 100644
--- a/src/VBox/Devices/Audio/DevIchAc97.cpp
+++ b/src/VBox/Devices/Audio/DevIchAc97.cpp
@@ -2099,7 +2099,7 @@ static DECLCALLBACK(int) ichac97IOPortNAMWrite(PPDMDEVINS pDevIns, void *pvUser,
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
 static DECLCALLBACK(int)
-ichac97IOPortMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+ichac97IOPortMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(cb, enmType);
     PPDMDEVINS  pDevIns = pPciDev->pDevIns;
diff --git a/src/VBox/Devices/Audio/DevIchHda.cpp b/src/VBox/Devices/Audio/DevIchHda.cpp
index 4376578..cf8d68b 100644
--- a/src/VBox/Devices/Audio/DevIchHda.cpp
+++ b/src/VBox/Devices/Audio/DevIchHda.cpp
@@ -4767,7 +4767,7 @@ PDMBOTHCBDECL(int) hdaMMIOWrite(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhy
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
 static DECLCALLBACK(int)
-hdaPciIoRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+hdaPciIoRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, enmType);
     PPDMDEVINS  pDevIns = pPciDev->pDevIns;
diff --git a/src/VBox/Devices/Audio/DrvAudio.cpp b/src/VBox/Devices/Audio/DrvAudio.cpp
index 1833fc8..4cb01f1 100644
--- a/src/VBox/Devices/Audio/DrvAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvAudio.cpp
@@ -152,7 +152,7 @@ DECLINLINE(PPDMAUDIOSTREAM) drvAudioGetHostStream(PPDMAUDIOSTREAM pStream)
         Assert(pHstStream->enmCtx == PDMAUDIOSTREAMCTX_HOST);
     }
     else
-        LogFlowFunc(("%s: Warning: Does not have a host stream (anymore)\n", pStream->szName));
+        LogRel(("Audio: Warning: Stream '%s' does not have a host stream (anymore)\n", pStream->szName));
 
     return pHstStream;
 }
@@ -1021,9 +1021,18 @@ static DECLCALLBACK(int) drvAudioStreamPlay(PPDMIAUDIOCONNECTOR pInterface,
 
         PPDMAUDIOSTREAM pHstStream = drvAudioGetHostStream(pStream);
         AssertPtr(pHstStream);
-        PPDMAUDIOSTREAM pGstStream = pHstStream->pPair;
+        PPDMAUDIOSTREAM pGstStream = pHstStream ? pHstStream->pPair : NULL;
         AssertPtr(pGstStream);
 
+        AssertReleaseMsgBreakStmt(pHstStream != NULL,
+                                  ("%s: Host stream is NULL (cRefs=%RU32, fStatus=%x, enmCtx=%ld)\n",
+                                   pStream->szName, pStream->cRefs, pStream->fStatus, pStream->enmCtx),
+                                  rc = VERR_NOT_AVAILABLE);
+        AssertReleaseMsgBreakStmt(pGstStream != NULL,
+                                  ("%s: Guest stream is NULL (cRefs=%RU32, fStatus=%x, enmCtx=%ld)\n",
+                                   pStream->szName, pStream->cRefs, pStream->fStatus, pStream->enmCtx),
+                                  rc = VERR_NOT_AVAILABLE);
+
         AssertPtr(pThis->pHostDrvAudio->pfnStreamGetStatus);
         PDMAUDIOSTRMSTS strmSts = pThis->pHostDrvAudio->pfnStreamGetStatus(pThis->pHostDrvAudio, pHstStream);
         if (!(strmSts & PDMAUDIOSTRMSTS_FLAG_INITIALIZED))
@@ -1135,9 +1144,18 @@ static DECLCALLBACK(int) drvAudioStreamCapture(PPDMIAUDIOCONNECTOR pInterface,
 
         PPDMAUDIOSTREAM pHstStream = drvAudioGetHostStream(pStream);
         AssertPtr(pHstStream);
-        PPDMAUDIOSTREAM pGstStream = pHstStream->pPair;
+        PPDMAUDIOSTREAM pGstStream = pHstStream ? pHstStream->pPair : NULL;
         AssertPtr(pGstStream);
 
+        AssertReleaseMsgBreakStmt(pHstStream != NULL,
+                                  ("%s: Host stream is NULL (cRefs=%RU32, fStatus=%x, enmCtx=%ld)\n",
+                                   pStream->szName, pStream->cRefs, pStream->fStatus, pStream->enmCtx),
+                                  rc = VERR_NOT_AVAILABLE);
+        AssertReleaseMsgBreakStmt(pGstStream != NULL,
+                                  ("%s: Guest stream is NULL (cRefs=%RU32, fStatus=%x, enmCtx=%ld)\n",
+                                   pStream->szName, pStream->cRefs, pStream->fStatus, pStream->enmCtx),
+                                  rc = VERR_NOT_AVAILABLE);
+
         PDMAUDIOSTRMSTS strmSts = pThis->pHostDrvAudio->pfnStreamGetStatus(pThis->pHostDrvAudio, pHstStream);
         if (!(strmSts & PDMAUDIOSTRMSTS_FLAG_INITIALIZED))
         {
@@ -1484,7 +1502,7 @@ static DECLCALLBACK(int) drvAudioStreamRead(PPDMIAUDIOCONNECTOR pInterface, PPDM
         }
 
         PPDMAUDIOSTREAM pHstStream = drvAudioGetHostStream(pStream);
-        if (pHstStream)
+        if (!pHstStream)
         {
             rc = VERR_NOT_AVAILABLE;
             break;
@@ -1807,11 +1825,13 @@ static DECLCALLBACK(uint32_t) drvAudioStreamGetReadable(PPDMIAUDIOCONNECTOR pInt
     Log3Func(("[%s] cbReadable=%RU32 (%zu bytes)\n", pHstStream->szName, cReadable,
               AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cReadable)));
 
+    uint32_t cbReadable = AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cReadable);
+
     rc2 = RTCritSectLeave(&pThis->CritSect);
     AssertRC(rc2);
 
     /* Return bytes instead of audio samples. */
-    return AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cReadable);
+    return cbReadable;
 }
 
 /**
@@ -1847,11 +1867,13 @@ static DECLCALLBACK(uint32_t) drvAudioStreamGetWritable(PPDMIAUDIOCONNECTOR pInt
     Log3Func(("[%s] cWritable=%RU32 (%zu bytes)\n", pHstStream->szName, cWritable,
               AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cWritable)));
 
+    uint32_t cbWritable = AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cWritable);
+
     rc2 = RTCritSectLeave(&pThis->CritSect);
     AssertRC(rc2);
 
     /* Return bytes instead of audio samples. */
-    return AUDIOMIXBUF_S2B(&pGstStream->MixBuf, cWritable);
+    return cbWritable;
 }
 
 /**
diff --git a/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp b/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
index ec12c83..039f3ea 100644
--- a/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
@@ -1692,21 +1692,36 @@ static DECLCALLBACK(PDMAUDIOSTRMSTS) drvHostALSAAudioStreamGetStatus(PPDMIHOSTAU
     PDMAUDIOSTRMSTS strmSts =   PDMAUDIOSTRMSTS_FLAG_INITIALIZED
                               | PDMAUDIOSTRMSTS_FLAG_ENABLED;
 
+    snd_pcm_t         *phPCM       = NULL;
+    snd_pcm_sframes_t  cSamplesMin;
+
+    /** @todo Get rid of this once we have a unified ALSA stream. */
     if (pStream->enmDir == PDMAUDIODIR_IN)
     {
-
+        PALSAAUDIOSTREAMIN pStreamIn = (PALSAAUDIOSTREAMIN)pStream;
+        phPCM       = pStreamIn->phPCM;
+        cSamplesMin = 0;
     }
-    else
+    else if (pStream->enmDir == PDMAUDIODIR_OUT)
     {
         PALSAAUDIOSTREAMOUT pStreamOut = (PALSAAUDIOSTREAMOUT)pStream;
+        phPCM       = pStreamOut->phPCM;
+        cSamplesMin = pStreamOut->cSamplesMin;
+    }
+    else
+        AssertFailed();
 
-        snd_pcm_sframes_t cAvail;
-        int rc2 = alsaStreamGetAvail(pStreamOut->phPCM, &cAvail);
+    if (phPCM)
+    {
+        snd_pcm_sframes_t cSamplesAvail;
+        int rc2 = alsaStreamGetAvail(phPCM, &cSamplesAvail);
         if (RT_SUCCESS(rc2))
         {
-            LogFlowFunc(("cAvail=%ld\n", cAvail));
-            if (cAvail >= (snd_pcm_sframes_t)pStreamOut->cSamplesMin)
-                strmSts |= PDMAUDIOSTRMSTS_FLAG_DATA_WRITABLE;
+            Log3Func(("cAvail=%ld \n", cSamplesAvail));
+            if (cSamplesAvail >= cSamplesMin)
+                strmSts |= pStream->enmDir == PDMAUDIODIR_IN
+                         ? PDMAUDIOSTRMSTS_FLAG_DATA_READABLE
+                         : PDMAUDIOSTRMSTS_FLAG_DATA_WRITABLE;
         }
     }
 
diff --git a/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp b/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
index 6f026c7..3c2f6fc 100644
--- a/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
@@ -313,6 +313,8 @@ typedef struct DRVHOSTCOREAUDIO
     PDMIHOSTAUDIO IHostAudio;
 } DRVHOSTCOREAUDIO, *PDRVHOSTCOREAUDIO;
 
+/** Converts a pointer to DRVHOSTCOREAUDIO::IHostAudio to a PDRVHOSTCOREAUDIO. */
+#define PDMIHOSTAUDIO_2_DRVHOSTCOREAUDIO(pInterface) RT_FROM_MEMBER(pInterface, DRVHOSTCOREAUDIO, IHostAudio)
 
 /**
  * Simple structure for maintaining a stream's callback context.
@@ -2103,7 +2105,9 @@ static DECLCALLBACK(int) drvHostCoreAudioStreamCapture(PPDMIHOSTAUDIO pInterface
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamPlay}
  */
-int drvHostCoreAudioStreamPlay(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream, const void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten)
+static DECLCALLBACK(int) drvHostCoreAudioStreamPlay(PPDMIHOSTAUDIO pInterface,
+                                                    PPDMAUDIOSTREAM pStream,
+                                                    const void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten)
 {
     RT_NOREF(pvBuf, cbBuf); /** @todo r=bird: this looks weird at first glance... */
 
@@ -2716,13 +2720,12 @@ static int coreAudioCreateStreamOut(PDRVHOSTCOREAUDIO pThis,
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnGetConfig}
  */
-int drvHostCoreAudioGetConfig(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDCFG pBackendCfg)
+static DECLCALLBACK(int) drvHostCoreAudioGetConfig(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDCFG pBackendCfg)
 {
     AssertPtrReturn(pInterface,  VERR_INVALID_POINTER);
     AssertPtrReturn(pBackendCfg, VERR_INVALID_POINTER);
 
-    PPDMDRVINS        pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
-    PDRVHOSTCOREAUDIO pThis   = PDMINS_2_DATA(pDrvIns, PDRVHOSTCOREAUDIO);
+    PDRVHOSTCOREAUDIO pThis = PDMIHOSTAUDIO_2_DRVHOSTCOREAUDIO(pInterface);
 
     return coreAudioUpdateStatusInternalEx(pThis, pBackendCfg, 0 /* fEnum */);
 }
@@ -2731,7 +2734,7 @@ int drvHostCoreAudioGetConfig(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDCFG pBa
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamGetStatus}
  */
-PDMAUDIOBACKENDSTS drvHostCoreAudioGetStatus(PPDMIHOSTAUDIO pInterface, PDMAUDIODIR enmDir)
+static DECLCALLBACK(PDMAUDIOBACKENDSTS) drvHostCoreAudioGetStatus(PPDMIHOSTAUDIO pInterface, PDMAUDIODIR enmDir)
 {
     RT_NOREF(enmDir);
     AssertPtrReturn(pInterface, PDMAUDIOBACKENDSTS_UNKNOWN);
@@ -2743,15 +2746,16 @@ PDMAUDIOBACKENDSTS drvHostCoreAudioGetStatus(PPDMIHOSTAUDIO pInterface, PDMAUDIO
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamCreate}
  */
-int drvHostCoreAudioStreamCreate(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream, PPDMAUDIOSTREAMCFG pCfgReq, PPDMAUDIOSTREAMCFG pCfgAcq)
+static DECLCALLBACK(int) drvHostCoreAudioStreamCreate(PPDMIHOSTAUDIO pInterface,
+                                                      PPDMAUDIOSTREAM pStream,
+                                                      PPDMAUDIOSTREAMCFG pCfgReq, PPDMAUDIOSTREAMCFG pCfgAcq)
 {
     AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pStream,    VERR_INVALID_POINTER);
     AssertPtrReturn(pCfgReq,    VERR_INVALID_POINTER);
     AssertPtrReturn(pCfgAcq,    VERR_INVALID_POINTER);
 
-    PPDMDRVINS        pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
-    PDRVHOSTCOREAUDIO pThis   = PDMINS_2_DATA(pDrvIns, PDRVHOSTCOREAUDIO);
+    PDRVHOSTCOREAUDIO pThis = PDMIHOSTAUDIO_2_DRVHOSTCOREAUDIO(pInterface);
 
     int rc;
     if (pCfgReq->enmDir == PDMAUDIODIR_IN)
@@ -2767,7 +2771,7 @@ int drvHostCoreAudioStreamCreate(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStr
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamDestroy}
  */
-int drvHostCoreAudioStreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
+static DECLCALLBACK(int) drvHostCoreAudioStreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
 {
     AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pStream,    VERR_INVALID_POINTER);
@@ -2785,7 +2789,8 @@ int drvHostCoreAudioStreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pSt
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamControl}
  */
-int drvHostCoreAudioStreamControl(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream, PDMAUDIOSTREAMCMD enmStreamCmd)
+static DECLCALLBACK(int) drvHostCoreAudioStreamControl(PPDMIHOSTAUDIO pInterface,
+                                                       PPDMAUDIOSTREAM pStream, PDMAUDIOSTREAMCMD enmStreamCmd)
 {
     AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pStream,    VERR_INVALID_POINTER);
@@ -2805,7 +2810,7 @@ int drvHostCoreAudioStreamControl(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pSt
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamGetStatus}
  */
-PDMAUDIOSTRMSTS drvHostCoreAudioStreamGetStatus(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
+static DECLCALLBACK(PDMAUDIOSTRMSTS) drvHostCoreAudioStreamGetStatus(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
 {
     RT_NOREF(pInterface);
     AssertPtrReturn(pStream, VERR_INVALID_POINTER);
@@ -2844,7 +2849,7 @@ PDMAUDIOSTRMSTS drvHostCoreAudioStreamGetStatus(PPDMIHOSTAUDIO pInterface, PPDMA
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnStreamIterate}
  */
-int drvHostCoreAudioStreamIterate(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
+static DECLCALLBACK(int) drvHostCoreAudioStreamIterate(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pStream)
 {
     AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pStream,    VERR_INVALID_POINTER);
@@ -2857,7 +2862,7 @@ int drvHostCoreAudioStreamIterate(PPDMIHOSTAUDIO pInterface, PPDMAUDIOSTREAM pSt
 /**
  * @interface_method_impl{PDMIHOSTAUDIO, pfnShutdown}
  */
-void drvHostCoreAudioShutdown(PPDMIHOSTAUDIO pInterface)
+static DECLCALLBACK(void) drvHostCoreAudioShutdown(PPDMIHOSTAUDIO pInterface)
 {
     RT_NOREF(pInterface);
 }
diff --git a/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp b/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
index 02ac0dc..a398aeb 100644
--- a/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
@@ -311,10 +311,13 @@ static int ossStreamOpen(const char *pszDev, int fOpen, POSSAUDIOSTREAMCFG pReq,
             break;
         }
 
+        /* Check access mode (input or output). */
+        bool fIn = ((fOpen & O_ACCMODE) == O_RDONLY);
+
         audio_buf_info abinfo;
-        if (ioctl(hFile, (fOpen & O_RDONLY) ? SNDCTL_DSP_GETISPACE : SNDCTL_DSP_GETOSPACE, &abinfo))
+        if (ioctl(hFile, fIn ? SNDCTL_DSP_GETISPACE : SNDCTL_DSP_GETOSPACE, &abinfo))
         {
-            LogRel(("OSS: Failed to retrieve buffer length: %s (%d)\n", strerror(errno), errno));
+            LogRel(("OSS: Failed to retrieve %s buffer length: %s (%d)\n", fIn ? "input" : "output", strerror(errno), errno));
             rc = RTErrConvertFromErrno(errno);
             break;
         }
diff --git a/src/VBox/Devices/Bus/DevPCI.cpp b/src/VBox/Devices/Bus/DevPCI.cpp
index 23d38cc..dd1d977 100644
--- a/src/VBox/Devices/Bus/DevPCI.cpp
+++ b/src/VBox/Devices/Bus/DevPCI.cpp
@@ -49,6 +49,7 @@
 #define PCI_INCLUDE_PRIVATE
 #include <VBox/pci.h>
 #include <VBox/vmm/pdmdev.h>
+#include <VBox/vmm/mm.h>
 #include <iprt/asm.h>
 #include <iprt/assert.h>
 #include <iprt/string.h>
@@ -1802,7 +1803,7 @@ static DECLCALLBACK(int) pciR3Register(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, c
 /**
  * @interface_method_impl{PDMPCIBUSREG,pfnIORegionRegisterR3}
  */
-static DECLCALLBACK(int) pciR3CommonIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion,
+static DECLCALLBACK(int) pciR3CommonIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, RTGCPHYS cbRegion,
                                                      PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
 {
     NOREF(pDevIns);
@@ -1818,10 +1819,10 @@ static DECLCALLBACK(int) pciR3CommonIORegionRegister(PPDMDEVINS pDevIns, PPCIDEV
     AssertMsgReturn((unsigned)iRegion < PCI_NUM_REGIONS,
                     ("Invalid iRegion=%d PCI_NUM_REGIONS=%d\n", iRegion, PCI_NUM_REGIONS),
                     VERR_INVALID_PARAMETER);
-    int iLastSet = ASMBitLastSetU32(cbRegion);
+    int iLastSet = ASMBitLastSetU64(cbRegion);
     AssertMsgReturn(    iLastSet != 0
-                    &&  RT_BIT_32(iLastSet - 1) == cbRegion,
-                    ("Invalid cbRegion=%#x iLastSet=%#x (not a power of 2 or 0)\n", cbRegion, iLastSet),
+                    &&  RT_BIT_64(iLastSet - 1) == cbRegion,
+                    ("Invalid cbRegion=%RGp iLastSet=%#x (not a power of 2 or 0)\n", cbRegion, iLastSet),
                     VERR_INVALID_PARAMETER);
 
     /*
@@ -1834,10 +1835,10 @@ static DECLCALLBACK(int) pciR3CommonIORegionRegister(PPDMDEVINS pDevIns, PPCIDEV
     pRegion->map_func    = pfnCallback;
 
     /* Set type in the config space. */
-    uint32_t u32Address = 0x10 + iRegion * 4;
-    uint32_t u32Value   =   (enmType == PCI_ADDRESS_SPACE_MEM_PREFETCH ? (1 << 3) : 0)
-                          | (enmType == PCI_ADDRESS_SPACE_IO ? 1 : 0);
-    *(uint32_t *)(pPciDev->config + u32Address) = RT_H2LE_U32(u32Value);
+    AssertCompile(PCI_ADDRESS_SPACE_MEM          == 0);
+    AssertCompile(PCI_ADDRESS_SPACE_IO           == 1);
+    AssertCompile(PCI_ADDRESS_SPACE_MEM_PREFETCH == RT_BIT_32(3));
+    PCIDevSetDWord(pPciDev, 0x10 + iRegion * 4, enmType);
 
     return VINF_SUCCESS;
 }
@@ -1867,11 +1868,14 @@ pciR3CommonSetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONF
  */
 static DECLCALLBACK(int) pciR3FakePCIBIOS(PPDMDEVINS pDevIns)
 {
-    unsigned    i;
-    uint8_t     elcr[2]  = {0, 0};
-    PPCIGLOBALS pGlobals = PDMINS_2_DATA(pDevIns, PPCIGLOBALS);
-    PVM         pVM      = PDMDevHlpGetVM(pDevIns); Assert(pVM);
-    PVMCPU      pVCpu    = PDMDevHlpGetVMCPU(pDevIns); Assert(pVM);
+    unsigned        i;
+    uint8_t         elcr[2]    = {0, 0};
+    PPCIGLOBALS     pGlobals   = PDMINS_2_DATA(pDevIns, PPCIGLOBALS);
+    PVM             pVM        = PDMDevHlpGetVM(pDevIns); Assert(pVM);
+    PVMCPU          pVCpu      = PDMDevHlpGetVMCPU(pDevIns); Assert(pVM);
+    uint32_t const  cbBelow4GB = MMR3PhysGetRamSizeBelow4GB(pVM);
+    uint64_t const  cbAbove4GB = MMR3PhysGetRamSizeAbove4GB(pVM);
+    RT_NOREF(cbBelow4GB, cbAbove4GB);
 
     /*
      * Set the start addresses.
diff --git a/src/VBox/Devices/Bus/DevPciIch9.cpp b/src/VBox/Devices/Bus/DevPciIch9.cpp
index 408a251..09fe3fd 100644
--- a/src/VBox/Devices/Bus/DevPciIch9.cpp
+++ b/src/VBox/Devices/Bus/DevPciIch9.cpp
@@ -29,6 +29,7 @@
 #include <VBox/pci.h>
 #include <VBox/msi.h>
 #include <VBox/vmm/pdmdev.h>
+#include <VBox/vmm/mm.h>
 #include <iprt/asm.h>
 #include <iprt/assert.h>
 #include <iprt/string.h>
@@ -96,10 +97,6 @@ typedef struct
     /** RC pointer to the device instance. */
     PPDMDEVINSRC        pDevInsRC;
 
-#if HC_ARCH_BITS == 64
-    uint32_t            Alignment0;
-#endif
-
     /** Value latched in Configuration Address Port (0CF8h) */
     uint32_t            uConfigReg;
 
@@ -111,8 +108,11 @@ typedef struct
     uint32_t            uPciBiosIo;
     /** The next MMIO address which the PCI BIOS will use. */
     uint32_t            uPciBiosMmio;
+    /** The next 64-bit MMIO address which the PCI BIOS will use. */
+    uint64_t            uPciBiosMmio64;
     /** Actual bus number. */
     uint8_t             uBus;
+    uint8_t             Alignment0[7];
 #endif
     /** Physical address of PCI config space MMIO region. */
     uint64_t            u64PciConfigMMioAddress;
@@ -1012,7 +1012,8 @@ static DECLCALLBACK(int) ich9pcibridgeRegister(PPDMDEVINS pDevIns, PPCIDEVICE pP
     return ich9pciRegisterInternal(pBus, iDev, pPciDev, pszName);
 }
 
-static DECLCALLBACK(int) ich9pciIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
+static DECLCALLBACK(int) ich9pciIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, RTGCPHYS cbRegion,
+                                                 PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
 {
     NOREF(pDevIns);
 
@@ -1030,13 +1031,13 @@ static DECLCALLBACK(int) ich9pciIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE
     AssertMsgReturn((unsigned)iRegion < PCI_NUM_REGIONS,
                     ("Invalid iRegion=%d PCI_NUM_REGIONS=%d\n", iRegion, PCI_NUM_REGIONS),
                     VERR_INVALID_PARAMETER);
-    int iLastSet = ASMBitLastSetU32(cbRegion);
+    int iLastSet = ASMBitLastSetU64(cbRegion);
     AssertMsgReturn(    iLastSet != 0
-                    &&  RT_BIT_32(iLastSet - 1) == cbRegion,
-                    ("Invalid cbRegion=%#x iLastSet=%#x (not a power of 2 or 0)\n", cbRegion, iLastSet),
+                    &&  RT_BIT_64(iLastSet - 1) == cbRegion,
+                    ("Invalid cbRegion=%RGp iLastSet=%#x (not a power of 2 or 0)\n", cbRegion, iLastSet),
                     VERR_INVALID_PARAMETER);
 
-    Log(("ich9pciIORegionRegister: %s region %d size %d type %x\n",
+    Log(("ich9pciIORegionRegister: %s region %d size %RGp type %x\n",
          pPciDev->name, iRegion, cbRegion, enmType));
 
     /* Make sure that we haven't marked this region as continuation of 64-bit region. */
@@ -1054,15 +1055,15 @@ static DECLCALLBACK(int) ich9pciIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE
     if ((enmType & PCI_ADDRESS_SPACE_BAR64) != 0)
     {
         /* VBOX_PCI_BASE_ADDRESS_5 and VBOX_PCI_ROM_ADDRESS are excluded. */
-        AssertMsgReturn(iRegion < (PCI_NUM_REGIONS-2),
+        AssertMsgReturn(iRegion < PCI_NUM_REGIONS - 2,
                         ("Region %d cannot be 64-bit\n", iRegion),
                         VERR_INVALID_PARAMETER);
         /* Mark next region as continuation of this one. */
-        pPciDev->Int.s.aIORegions[iRegion+1].type = 0xff;
+        pPciDev->Int.s.aIORegions[iRegion + 1].type = 0xff;
     }
 
     /* Set type in the PCI config space. */
-    uint32_t u32Value   = ((uint32_t)enmType) & (PCI_ADDRESS_SPACE_IO | PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM_PREFETCH);
+    uint32_t u32Value   = (uint32_t)enmType & (PCI_ADDRESS_SPACE_IO | PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM_PREFETCH);
     PCIDevSetDWord(pPciDev, ich9pciGetRegionReg(iRegion), u32Value);
 
     return VINF_SUCCESS;
@@ -1626,11 +1627,11 @@ static void ich9pciSetRegionAddress(PICH9PCIGLOBALS pGlobals, uint8_t uBus, uint
 
     /* Read memory type first. */
     uint8_t uResourceType = ich9pciConfigRead(pGlobals, uBus, uDevFn, uReg, 1);
+    bool    f64Bit = (uResourceType & ((uint8_t)(PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_IO)))
+                     == PCI_ADDRESS_SPACE_BAR64;
 
-    Log(("Set region address: %02x:%02x.%d region %d address=%lld\n",
-         uBus, uDevFn >> 3, uDevFn & 7, iRegion, addr));
-
-    bool f64Bit = (uResourceType & PCI_ADDRESS_SPACE_BAR64) != 0;
+    Log(("Set region address: %02x:%02x.%d region %d address=%RX64%s\n",
+         uBus, uDevFn >> 3, uDevFn & 7, iRegion, addr, f64Bit ? " (64-bit)" : ""));
 
     /* Write address of the device. */
     ich9pciConfigWrite(pGlobals, uBus, uDevFn, uReg, (uint32_t)addr, 4);
@@ -1730,10 +1731,11 @@ static void ich9pciBiosInitDevice(PICH9PCIGLOBALS pGlobals, uint8_t uBus, uint8_
             break;
         case 0x0300:
             /* VGA controller */
-            if (uVendor != 0x80ee)
-                goto default_map;
-            /* VGA: map frame buffer to default Bochs VBE address */
-            ich9pciSetRegionAddress(pGlobals, uBus, uDevFn, 0, 0xE0000000);
+
+            /* NB: Default Bochs VGA LFB address is 0xE0000000. Old guest
+             * software may break if the framebuffer isn't mapped there.
+             */
+
             /*
              * Legacy VGA I/O ports are implicitly decoded by a VGA class device. But
              * only the framebuffer (i.e., a memory region) is explicitly registered via
@@ -1741,8 +1743,9 @@ static void ich9pciBiosInitDevice(PICH9PCIGLOBALS pGlobals, uint8_t uBus, uint8_
              */
             uCmd = ich9pciConfigRead(pGlobals, uBus, uDevFn, VBOX_PCI_COMMAND, 1);
             ich9pciConfigWrite(pGlobals, uBus, uDevFn, VBOX_PCI_COMMAND,
-                               uCmd | PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS,
+                               uCmd | PCI_COMMAND_IOACCESS,
                                1);
+            goto default_map;
             break;
         case 0x0604:
             /* PCI-to-PCI bridge. */
@@ -1766,11 +1769,11 @@ static void ich9pciBiosInitDevice(PICH9PCIGLOBALS pGlobals, uint8_t uBus, uint8_
                    are cleared. */
                 uint8_t u8ResourceType = ich9pciConfigRead(pGlobals, uBus, uDevFn, u32Address, 1);
 
-                bool f64bit = (u8ResourceType & PCI_ADDRESS_SPACE_BAR64) != 0;
+                bool f64Bit = (u8ResourceType & PCI_ADDRESS_SPACE_BAR64) != 0;
                 bool fIsPio = ((u8ResourceType & PCI_COMMAND_IOACCESS) == PCI_COMMAND_IOACCESS);
                 uint64_t cbRegSize64 = 0;
 
-                if (f64bit)
+                if (f64Bit)
                 {
                     ich9pciConfigWrite(pGlobals, uBus, uDevFn, u32Address,   UINT32_C(0xffffffff), 4);
                     ich9pciConfigWrite(pGlobals, uBus, uDevFn, u32Address+4, UINT32_C(0xffffffff), 4);
@@ -1807,43 +1810,56 @@ static void ich9pciBiosInitDevice(PICH9PCIGLOBALS pGlobals, uint8_t uBus, uint8_
 
                     cbRegSize64 = cbRegSize32;
                 }
-#ifndef DEBUG_bird /* EFI triggers this for DevAHCI. */
-                Assert(cbRegSize64 == (uint32_t)cbRegSize64);
-#endif
                 Log2(("%s: Size of region %u for device %d on bus %d is %lld\n", __FUNCTION__, iRegion, uDevFn, uBus, cbRegSize64));
 
                 if (cbRegSize64)
                 {
-                    /** @todo r=klaus make this code actually handle 64-bit BARs, especially MMIO which can't possibly fit into the memory hole. */
-                    uint32_t  cbRegSize32 = (uint32_t)cbRegSize64;
+                    /* Try 32-bit base first. */
                     uint32_t* paddr = fIsPio ? &pGlobals->uPciBiosIo : &pGlobals->uPciBiosMmio;
-                    uint32_t uNew = *paddr;
-                    uNew = (uNew + cbRegSize32 - 1) & ~(cbRegSize32 - 1);
+                    uint64_t  uNew = *paddr;
+                    /* Align starting address to region size. */
+                    uNew = (uNew + cbRegSize64 - 1) & ~(cbRegSize64 - 1);
                     if (fIsPio)
                         uNew &= UINT32_C(0xffff);
                     /* Unconditionally exclude I/O-APIC/HPET/ROM. Pessimistic, but better than causing a mess. */
-                    if (!uNew || (uNew <= UINT32_C(0xffffffff) && uNew + cbRegSize32 - 1 >= UINT32_C(0xfec00000)))
+                    if (   !uNew
+                        || (uNew <= UINT32_C(0xffffffff) && uNew + cbRegSize64 - 1 >= UINT32_C(0xfec00000))
+                        || uNew >= _4G)
                     {
-                        LogRel(("PCI: no space left for BAR%u of device %u/%u/%u (vendor=%#06x device=%#06x)\n",
-                                iRegion, uBus, uDevFn >> 3, uDevFn & 7, uVendor, uDevice)); /** @todo make this a VM start failure later. */
-                        /* Undo the mapping mess caused by the size probing. */
-                        ich9pciConfigWrite(pGlobals, uBus, uDevFn, u32Address, UINT32_C(0), 4);
-                        if (f64bit)
-                            ich9pciConfigWrite(pGlobals, uBus, uDevFn, u32Address+4, UINT32_C(0), 4);
+                        if (f64Bit)
+                        {
+                            /* Map a 64-bit region above 4GB. */
+                            Assert(!fIsPio);
+                            uNew = pGlobals->uPciBiosMmio64;
+                            /* Align starting address to region size. */
+                            uNew = (uNew + cbRegSize64 - 1) & ~(cbRegSize64 - 1);
+                            LogFunc(("Start address of 64-bit MMIO region %u/%u is %#llx\n", iRegion, iRegion + 1, uNew));
+                            ich9pciSetRegionAddress(pGlobals, uBus, uDevFn, iRegion, uNew);
+                            fActiveMemRegion = true;
+                            pGlobals->uPciBiosMmio64 = uNew + cbRegSize64;
+                            Log2Func(("New 64-bit address is %#llx\n", pGlobals->uPciBiosMmio64));
+                        }
+                        else
+                        {
+                            LogRel(("PCI: no space left for BAR%u of device %u/%u/%u (vendor=%#06x device=%#06x)\n",
+                                    iRegion, uBus, uDevFn >> 3, uDevFn & 7, uVendor, uDevice)); /** @todo make this a VM start failure later. */
+                            /* Undo the mapping mess caused by the size probing. */
+                            ich9pciConfigWrite(pGlobals, uBus, uDevFn, u32Address, UINT32_C(0), 4);
+                        }
                     }
                     else
                     {
-                        Log(("%s: Start address of %s region %u is %#x\n", __FUNCTION__, (fIsPio ? "I/O" : "MMIO"), iRegion, uNew));
+                        LogFunc(("Start address of %s region %u is %#x\n", (fIsPio ? "I/O" : "MMIO"), iRegion, uNew));
                         ich9pciSetRegionAddress(pGlobals, uBus, uDevFn, iRegion, uNew);
                         if (fIsPio)
                             fActiveIORegion = true;
                         else
                             fActiveMemRegion = true;
-                        *paddr = uNew + cbRegSize32;
-                        Log2(("%s: New address is %#x\n", __FUNCTION__, *paddr));
+                        *paddr = uNew + cbRegSize64;
+                        Log2Func(("New 32-bit address is %#x\n", *paddr));
                     }
 
-                    if (f64bit)
+                    if (f64Bit)
                         iRegion++; /* skip next region */
                 }
             }
@@ -1945,15 +1961,27 @@ static void ich9pciInitBridgeTopology(PICH9PCIGLOBALS pGlobals, PICH9PCIBUS pBus
 
 static DECLCALLBACK(int) ich9pciFakePCIBIOS(PPDMDEVINS pDevIns)
 {
-    PICH9PCIGLOBALS pGlobals = PDMINS_2_DATA(pDevIns, PICH9PCIGLOBALS);
+    PICH9PCIGLOBALS pGlobals   = PDMINS_2_DATA(pDevIns, PICH9PCIGLOBALS);
+    PVM             pVM        = PDMDevHlpGetVM(pDevIns);
+    uint32_t const  cbBelow4GB = MMR3PhysGetRamSizeBelow4GB(pVM);
+    uint64_t const  cbAbove4GB = MMR3PhysGetRamSizeAbove4GB(pVM);
 
     /*
      * Set the start addresses.
      */
-    pGlobals->uPciBiosIo  = 0xd000;
-    pGlobals->uPciBiosMmio = UINT32_C(0xf0000000);
+    pGlobals->uPciBiosIo     = 0xd000;
+    pGlobals->uPciBiosMmio   = cbBelow4GB;
+    pGlobals->uPciBiosMmio64 = cbAbove4GB + _4G;
     pGlobals->uBus = 0;
 
+    /* NB: Assume that if MMIO range is enabled, it is at the bottom of the memory hole. */
+    if (pGlobals->u64PciConfigMMioAddress)
+    {
+        AssertRelease(pGlobals->u64PciConfigMMioAddress >= cbBelow4GB);
+        pGlobals->uPciBiosMmio = pGlobals->u64PciConfigMMioAddress + pGlobals->u64PciConfigMMioLength;
+    }
+    Log(("cbBelow4GB: %lX, uPciBiosMmio: %lX, cbAbove4GB: %llX\n", cbBelow4GB, pGlobals->uPciBiosMmio, cbAbove4GB));
+
     /*
      * Assign bridge topology, for further routing to work.
      */
@@ -2443,10 +2471,16 @@ static void ich9pciBusInfo(PICH9PCIBUS pBus, PCDBGFINFOHLP pHlp, int iIndent, bo
                     }
 
                     printIndent(pHlp, iIndent + 2);
-                    pHlp->pfnPrintf(pHlp, "%s region #%d: %x..%x\n",
-                                    pszDesc, iRegion, u32Addr, u32Addr+iRegionSize);
+                    pHlp->pfnPrintf(pHlp, "%s region #%d: ",pszDesc, iRegion);
                     if (f64Bit)
+                    {
+                        uint32_t u32High = ich9pciGetDWord(pPciDev, ich9pciGetRegionReg(iRegion+1));
+                        uint64_t u64Addr = RT_MAKE_U64(u32Addr, u32High);
+                        pHlp->pfnPrintf(pHlp, "%RX64..%RX64\n", u64Addr, u64Addr+iRegionSize);
                         iRegion++;
+                    }
+                    else
+                        pHlp->pfnPrintf(pHlp, "%x..%x\n", u32Addr, u32Addr+iRegionSize);
                 }
             }
 
diff --git a/src/VBox/Devices/Bus/MsixCommon.cpp b/src/VBox/Devices/Bus/MsixCommon.cpp
index cb13b3d..e9e5839 100644
--- a/src/VBox/Devices/Bus/MsixCommon.cpp
+++ b/src/VBox/Devices/Bus/MsixCommon.cpp
@@ -148,9 +148,10 @@ PDMBOTHCBDECL(int) msixMMIOWrite(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPh
     return VINF_SUCCESS;
 }
 
-static DECLCALLBACK(int) msixMap (PPCIDEVICE pPciDev, int iRegion,
-                                  RTGCPHYS GCPhysAddress, uint32_t cb,
-                                  PCIADDRESSSPACE enmType)
+/**
+ * @callback_method_impl{FNPCIIOREGIONMAP}
+ */
+static DECLCALLBACK(int) msixMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     Assert(enmType == PCI_ADDRESS_SPACE_MEM);
     NOREF(iRegion); NOREF(enmType);
@@ -197,7 +198,7 @@ int MsixInit(PCPDMPCIHLP pPciHlp, PPCIDEVICE pDev, PPDMMSIREG pMsiReg)
     /* If device is passthrough, BAR is registered using common mechanism. */
     if (!pciDevIsPassthrough(pDev))
     {
-        rc = PDMDevHlpPCIIORegionRegister (pDev->pDevIns, iBar, 0x1000, PCI_ADDRESS_SPACE_MEM, msixMap);
+        rc = PDMDevHlpPCIIORegionRegister(pDev->pDevIns, iBar, 0x1000, PCI_ADDRESS_SPACE_MEM, msixMap);
         if (RT_FAILURE (rc))
             return rc;
     }
diff --git a/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI32.fd b/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI32.fd
index 8ac754b..348a7ee 100644
Binary files a/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI32.fd and b/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI32.fd differ
diff --git a/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI64.fd b/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI64.fd
index 42e8f80..5d1b0a5 100644
Binary files a/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI64.fd and b/src/VBox/Devices/EFI/FirmwareBin/VBoxEFI64.fd differ
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm
index 2e1c93d..8dd9a47 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm
@@ -1366,12 +1366,12 @@ vbe_biosfn_set_get_logical_scan_line_length: ; 0xc085f LB 0x4d
     ; mov bl, ah                                ; 8a dc
     db  00ah, 0dbh
     ; or bl, bl                                 ; 0a db
-    jne short 00882h                          ; 75 05
+    pop ax                                    ; 58
+    jne short 00883h                          ; 75 05
     sal ax, 003h                              ; c1 e0 03
     mov BL, strict byte 001h                  ; b3 01
     db  033h, 0d2h
     ; xor dx, dx                                ; 33 d2
-    pop ax                                    ; 58
     div bx                                    ; f7 f3
     call 006d2h                               ; e8 48 fe
     call 00596h                               ; e8 09 fd
@@ -7293,7 +7293,7 @@ vesa_pm_end:                                 ; 0xc4514 LB 0x1
 
 section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
 _msg_vga_init:                               ; 0xc4600 LB 0x2e
-    db  'Oracle VM VirtualBox Version 5.1.4 VGA BIOS', 00dh, 00ah, 000h
+    db  'Oracle VM VirtualBox Version 5.1.6 VGA BIOS', 00dh, 00ah, 000h
 _vga_modes:                                  ; 0xc462e LB 0x80
     db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
@@ -8188,7 +8188,7 @@ _vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
 _vbebios_product_name:                       ; 0xc7c86 LB 0x21
     db  'Oracle VM VirtualBox VBE Adapter', 000h
 _vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
-    db  'Oracle VM VirtualBox Version 5.1.4', 000h
+    db  'Oracle VM VirtualBox Version 5.1.6', 000h
 _vbebios_info_string:                        ; 0xc7cca LB 0x2b
     db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
 _no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
@@ -8200,11 +8200,11 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
 
   ; Padding 0x2e2 bytes at 0xc7d1e
     db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
-    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
-    db  075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h
-    db  065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h
-    db  067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h
-    db  061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h
+    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02dh, 035h
+    db  02eh, 031h, 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h
+    db  036h, 034h, 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h
+    db  042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02fh, 056h, 042h
+    db  06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02eh, 073h, 079h, 06dh
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
@@ -8245,4 +8245,4 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 041h
+    db  000h, 07ch
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum
index 2fb7bf9..7ab9483 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum
@@ -1 +1 @@
-4a30a63db90620d15961cdf305ffa1e5 *VBoxVgaBios286.rom
+93b3ef7cb9061e548825521a1fc84ecc *VBoxVgaBios286.rom
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm
index 16065c8..5be8429 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm
@@ -1366,12 +1366,12 @@ vbe_biosfn_set_get_logical_scan_line_length: ; 0xc085f LB 0x4d
     ; mov bl, ah                                ; 8a dc
     db  00ah, 0dbh
     ; or bl, bl                                 ; 0a db
-    jne short 00882h                          ; 75 05
+    pop ax                                    ; 58
+    jne short 00883h                          ; 75 05
     sal ax, 003h                              ; c1 e0 03
     mov BL, strict byte 001h                  ; b3 01
     db  033h, 0d2h
     ; xor dx, dx                                ; 33 d2
-    pop ax                                    ; 58
     div bx                                    ; f7 f3
     call 006d2h                               ; e8 48 fe
     call 00596h                               ; e8 09 fd
@@ -6769,7 +6769,7 @@ vesa_pm_end:                                 ; 0xc4514 LB 0x1
 
 section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
 _msg_vga_init:                               ; 0xc4600 LB 0x2e
-    db  'Oracle VM VirtualBox Version 5.1.4 VGA BIOS', 00dh, 00ah, 000h
+    db  'Oracle VM VirtualBox Version 5.1.6 VGA BIOS', 00dh, 00ah, 000h
 _vga_modes:                                  ; 0xc462e LB 0x80
     db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
@@ -7664,7 +7664,7 @@ _vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
 _vbebios_product_name:                       ; 0xc7c86 LB 0x21
     db  'Oracle VM VirtualBox VBE Adapter', 000h
 _vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
-    db  'Oracle VM VirtualBox Version 5.1.4', 000h
+    db  'Oracle VM VirtualBox Version 5.1.6', 000h
 _vbebios_info_string:                        ; 0xc7cca LB 0x2b
     db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
 _no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
@@ -7676,11 +7676,11 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
 
   ; Padding 0x2e2 bytes at 0xc7d1e
     db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
-    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
-    db  075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h
-    db  065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h
-    db  067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h
-    db  061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h
+    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02dh, 035h
+    db  02eh, 031h, 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h
+    db  036h, 034h, 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h
+    db  042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02fh, 056h, 042h
+    db  06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02eh, 073h, 079h, 06dh
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
@@ -7721,4 +7721,4 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 036h
+    db  000h, 071h
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum
index 88c1d2d..046cbca 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum
@@ -1 +1 @@
-94ee217f1ebe5f8c4df7be8c9ce16477 *VBoxVgaBios386.rom
+e6636bccad2656f5a1922cc3464bbe9e *VBoxVgaBios386.rom
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm
index a1653e6..e8621b3 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm
@@ -1404,14 +1404,14 @@ vbe_biosfn_set_get_logical_scan_line_length: ; 0xc0898 LB 0x53
     ; mov bl, ah                                ; 8a dc
     db  00ah, 0dbh
     ; or bl, bl                                 ; 0a db
-    jne short 008beh                          ; 75 08
+    pop ax                                    ; 58
+    jne short 008bfh                          ; 75 08
     sal ax, 1                                 ; d1 e0
     sal ax, 1                                 ; d1 e0
     sal ax, 1                                 ; d1 e0
     mov BL, strict byte 001h                  ; b3 01
     db  033h, 0d2h
     ; xor dx, dx                                ; 33 d2
-    pop ax                                    ; 58
     div bx                                    ; f7 f3
     call 00708h                               ; e8 42 fe
     call 005c6h                               ; e8 fd fc
@@ -7434,7 +7434,7 @@ vesa_pm_end:                                 ; 0xc4514 LB 0x1
 
 section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
 _msg_vga_init:                               ; 0xc4600 LB 0x2e
-    db  'Oracle VM VirtualBox Version 5.1.4 VGA BIOS', 00dh, 00ah, 000h
+    db  'Oracle VM VirtualBox Version 5.1.6 VGA BIOS', 00dh, 00ah, 000h
 _vga_modes:                                  ; 0xc462e LB 0x80
     db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
@@ -8329,7 +8329,7 @@ _vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
 _vbebios_product_name:                       ; 0xc7c86 LB 0x21
     db  'Oracle VM VirtualBox VBE Adapter', 000h
 _vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
-    db  'Oracle VM VirtualBox Version 5.1.4', 000h
+    db  'Oracle VM VirtualBox Version 5.1.6', 000h
 _vbebios_info_string:                        ; 0xc7cca LB 0x2b
     db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
 _no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
@@ -8341,12 +8341,12 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
 
   ; Padding 0x2e2 bytes at 0xc7d1e
     db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
-    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
-    db  075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h
-    db  065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h
-    db  067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h
-    db  067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02dh, 035h
+    db  02eh, 031h, 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h
+    db  036h, 034h, 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h
+    db  042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02fh, 056h
+    db  042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02eh, 073h
+    db  079h, 06dh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
@@ -8386,4 +8386,4 @@ section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 0c8h
+    db  000h, 003h
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum
index 8605e22..e77d3de 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum
@@ -1 +1 @@
-0f2240f63a349b1e3e27796ef81200d8 *VBoxVgaBios8086.rom
+35576435684c7f5b2ab52a8964fe5959 *VBoxVgaBios8086.rom
diff --git a/src/VBox/Devices/Graphics/BIOS/vberom.asm b/src/VBox/Devices/Graphics/BIOS/vberom.asm
index cf5b48c..578747a 100644
--- a/src/VBox/Devices/Graphics/BIOS/vberom.asm
+++ b/src/VBox/Devices/Graphics/BIOS/vberom.asm
@@ -605,6 +605,7 @@ set_logical_scan_line_bytes:
   xor  bh, bh
   mov  bl, ah
   or   bl, bl
+  pop  ax
   jnz  no_4bpp_1
 if VBOX_BIOS_CPU gt 8086
   shl  ax, 3
@@ -616,7 +617,6 @@ endif
   mov  bl, 1
 no_4bpp_1:
   xor  dx, dx
-  pop  ax
   div  bx
 set_logical_scan_line_pixels:
   call dispi_set_virt_width
diff --git a/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp b/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
index 69c9b3e..7276a26 100644
--- a/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+++ b/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
@@ -3772,13 +3772,14 @@ static void vmsvgaSetTraces(PVGASTATE pThis, bool fTraces)
  *                          to pci_mem_base like earlier!
  * @param   enmType         One of the PCI_ADDRESS_SPACE_* values.
  */
-DECLCALLBACK(int) vmsvgaR3IORegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+DECLCALLBACK(int) vmsvgaR3IORegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb,
+                                      PCIADDRESSSPACE enmType)
 {
     int         rc;
     PPDMDEVINS  pDevIns = pPciDev->pDevIns;
     PVGASTATE   pThis = PDMINS_2_DATA(pDevIns, PVGASTATE);
 
-    Log(("vgasvgaR3IORegionMap: iRegion=%d GCPhysAddress=%RGp cb=%#x enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
+    Log(("vgasvgaR3IORegionMap: iRegion=%d GCPhysAddress=%RGp cb=%RGp enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
     if (enmType == PCI_ADDRESS_SPACE_IO)
     {
         AssertReturn(iRegion == 0, VERR_INTERNAL_ERROR);
diff --git a/src/VBox/Devices/Graphics/DevVGA-SVGA.h b/src/VBox/Devices/Graphics/DevVGA-SVGA.h
index 55e286f..2b26550 100644
--- a/src/VBox/Devices/Graphics/DevVGA-SVGA.h
+++ b/src/VBox/Devices/Graphics/DevVGA-SVGA.h
@@ -40,7 +40,7 @@
 #define VMSVGA_ACTION_CHANGEMODE_BIT    0
 #define VMSVGA_ACTION_CHANGEMODE        RT_BIT(VMSVGA_ACTION_CHANGEMODE_BIT)
 
-DECLCALLBACK(int) vmsvgaR3IORegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType);
+DECLCALLBACK(int) vmsvgaR3IORegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType);
 
 DECLCALLBACK(void) vmsvgaPortSetViewport(PPDMIDISPLAYPORT pInterface, uint32_t uScreenId, uint32_t x, uint32_t y, uint32_t cx, uint32_t cy);
 
diff --git a/src/VBox/Devices/Graphics/DevVGA.cpp b/src/VBox/Devices/Graphics/DevVGA.cpp
index 6dc659c..7108e0f 100644
--- a/src/VBox/Devices/Graphics/DevVGA.cpp
+++ b/src/VBox/Devices/Graphics/DevVGA.cpp
@@ -5407,14 +5407,14 @@ int vgaR3UnregisterVRAMHandler(PVGASTATE pVGAState)
  *                          This address is *NOT* relative to pci_mem_base like earlier!
  * @param   enmType         One of the PCI_ADDRESS_SPACE_* values.
  */
-static DECLCALLBACK(int) vgaR3IORegionMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb,
-                                          PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) vgaR3IORegionMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress,
+                                          RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF1(cb);
     int         rc;
     PPDMDEVINS  pDevIns = pPciDev->pDevIns;
     PVGASTATE   pThis = PDMINS_2_DATA(pDevIns, PVGASTATE);
-    Log(("vgaR3IORegionMap: iRegion=%d GCPhysAddress=%RGp cb=%#x enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
+    Log(("vgaR3IORegionMap: iRegion=%d GCPhysAddress=%RGp cb=%RGp enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
 #ifdef VBOX_WITH_VMSVGA
     AssertReturn(   (iRegion == ((pThis->fVMSVGAEnabled) ? 1 : 0))
                  && (enmType == ((pThis->fVMSVGAEnabled) ? PCI_ADDRESS_SPACE_MEM : PCI_ADDRESS_SPACE_MEM_PREFETCH)),
@@ -6549,18 +6549,23 @@ static DECLCALLBACK(int)   vgaR3Construct(PPDMDEVINS pDevIns, int iInstance, PCF
         if (RT_FAILURE (rc))
             return rc;
         /* VMware's MetalKit doesn't like PCI_ADDRESS_SPACE_MEM_PREFETCH */
-        rc = PDMDevHlpPCIIORegionRegister(pDevIns, 1 /* iRegion */, pThis->vram_size, PCI_ADDRESS_SPACE_MEM /* PCI_ADDRESS_SPACE_MEM_PREFETCH */, vgaR3IORegionMap);
+        rc = PDMDevHlpPCIIORegionRegister(pDevIns, 1 /* iRegion */, pThis->vram_size,
+                                          PCI_ADDRESS_SPACE_MEM /* PCI_ADDRESS_SPACE_MEM_PREFETCH */, vgaR3IORegionMap);
         if (RT_FAILURE(rc))
             return rc;
-        rc = PDMDevHlpPCIIORegionRegister(pDevIns, 2 /* iRegion */, VMSVGA_FIFO_SIZE, PCI_ADDRESS_SPACE_MEM /* PCI_ADDRESS_SPACE_MEM_PREFETCH */, vmsvgaR3IORegionMap);
+        rc = PDMDevHlpPCIIORegionRegister(pDevIns, 2 /* iRegion */, VMSVGA_FIFO_SIZE,
+                                          PCI_ADDRESS_SPACE_MEM /* PCI_ADDRESS_SPACE_MEM_PREFETCH */, vmsvgaR3IORegionMap);
         if (RT_FAILURE(rc))
             return rc;
     }
     else
 #endif /* VBOX_WITH_VMSVGA */
-    rc = PDMDevHlpPCIIORegionRegister(pDevIns, iPCIRegionVRAM, pThis->vram_size, PCI_ADDRESS_SPACE_MEM_PREFETCH, vgaR3IORegionMap);
-    if (RT_FAILURE(rc))
-        return rc;
+    {
+        rc = PDMDevHlpPCIIORegionRegister(pDevIns, iPCIRegionVRAM, pThis->vram_size,
+                                          PCI_ADDRESS_SPACE_MEM_PREFETCH, vgaR3IORegionMap);
+        if (RT_FAILURE(rc))
+            return rc;
+    }
 
     /*
      * Create the refresh timer.
diff --git a/src/VBox/Devices/Network/DevE1000.cpp b/src/VBox/Devices/Network/DevE1000.cpp
index 7dc04bf..bd3e044 100644
--- a/src/VBox/Devices/Network/DevE1000.cpp
+++ b/src/VBox/Devices/Network/DevE1000.cpp
@@ -2900,8 +2900,6 @@ static int e1kRegReadICR(PE1KSTATE pThis, uint32_t offset, uint32_t index, uint3
     rc = e1kRegReadDefault(pThis, offset, index, &value);
     if (RT_SUCCESS(rc))
     {
-        /* Do not return masked bits. */
-        value &= IMS;
         if (value)
         {
             /*
@@ -6086,7 +6084,7 @@ static void e1kDumpState(PE1KSTATE pThis)
 /**
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
-static DECLCALLBACK(int) e1kMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) e1kMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion);
     PE1KSTATE pThis = PDMINS_2_DATA(pPciDev->pDevIns, E1KSTATE*);
diff --git a/src/VBox/Devices/Network/DevPCNet.cpp b/src/VBox/Devices/Network/DevPCNet.cpp
index e5fb543..be0ed07 100644
--- a/src/VBox/Devices/Network/DevPCNet.cpp
+++ b/src/VBox/Devices/Network/DevPCNet.cpp
@@ -3867,7 +3867,7 @@ static DECLCALLBACK(void) pcnetTimerRestore(PPDMDEVINS pDevIns, PTMTIMER pTimer,
  * @callback_method_impl{FNPCIIOREGIONMAP, For the PC-NET I/O Ports.}
  */
 static DECLCALLBACK(int) pcnetIOPortMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion,
-                                        RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+                                        RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, cb, enmType);
     int         rc;
@@ -3919,7 +3919,7 @@ static DECLCALLBACK(int) pcnetIOPortMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRe
  * @callback_method_impl{FNPCIIOREGIONMAP, For the PC-Net MMIO region.}
  */
 static DECLCALLBACK(int) pcnetMMIOMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion,
-                                      RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+                                      RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, cb, enmType);
     PPCNETSTATE pThis = PCIDEV_2_PCNETSTATE(pPciDev);
diff --git a/src/VBox/Devices/Network/DevVirtioNet.cpp b/src/VBox/Devices/Network/DevVirtioNet.cpp
index 0927e12..61f0c2d 100644
--- a/src/VBox/Devices/Network/DevVirtioNet.cpp
+++ b/src/VBox/Devices/Network/DevVirtioNet.cpp
@@ -1772,7 +1772,7 @@ static DECLCALLBACK(int) vnetLoadDone(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
 /**
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
-static DECLCALLBACK(int) vnetMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) vnetMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion);
     PVNETSTATE pThis = PDMINS_2_DATA(pPciDev->pDevIns, PVNETSTATE);
diff --git a/src/VBox/Devices/Network/slirp/socket.c b/src/VBox/Devices/Network/slirp/socket.c
index 0bd0361..7d504ce 100644
--- a/src/VBox/Devices/Network/slirp/socket.c
+++ b/src/VBox/Devices/Network/slirp/socket.c
@@ -243,6 +243,7 @@ soread(PNATState pData, struct socket *so)
     u_int len = sb->sb_datalen - sb->sb_cc;
     struct iovec iov[2];
     int mss = so->so_tcpcb->t_maxseg;
+    int sockerr;
 
     STAM_PROFILE_START(&pData->StatIOread, a);
     STAM_COUNTER_RESET(&pData->StatIORead_in_1);
@@ -320,30 +321,39 @@ soread(PNATState pData, struct socket *so)
 #else
     nn = recv(so->s, iov[0].iov_base, iov[0].iov_len, (so->so_tcpcb->t_force? MSG_OOB:0));
 #endif
+    if (nn < 0)
+        sockerr = errno; /* save it, as it may be clobbered by logging */
+    else
+        sockerr = 0;
+
     Log2(("%s: read(1) nn = %d bytes\n", RT_GCC_EXTENSION __PRETTY_FUNCTION__, nn));
     Log2(("%s: so = %R[natsock] so->so_snd = %R[sbuf]\n", RT_GCC_EXTENSION __PRETTY_FUNCTION__, so, sb));
     if (nn <= 0)
     {
-        /*
-         * Special case for WSAEnumNetworkEvents: If we receive 0 bytes that
-         * _could_ mean that the connection is closed. But we will receive an
-         * FD_CLOSE event later if the connection was _really_ closed. With
-         * www.youtube.com I see this very often. Closing the socket too early
-         * would be dangerous.
-         */
-        int status;
-        unsigned long pending = 0;
-        status = ioctlsocket(so->s, FIONREAD, &pending);
-        if (status < 0)
-            Log(("NAT:%s: error in WSAIoctl: %d\n", RT_GCC_EXTENSION __PRETTY_FUNCTION__, errno));
-        if (nn == 0 && (pending != 0))
+        if (nn == 0) /* XXX: should this be inside #if defined(RT_OS_WINDOWS)? */
         {
-            SOCKET_UNLOCK(so);
-            STAM_PROFILE_STOP(&pData->StatIOread, a);
-            return 0;
+            /*
+             * Special case for WSAEnumNetworkEvents: If we receive 0 bytes that
+             * _could_ mean that the connection is closed. But we will receive an
+             * FD_CLOSE event later if the connection was _really_ closed. With
+             * www.youtube.com I see this very often. Closing the socket too early
+             * would be dangerous.
+             */
+            int status;
+            unsigned long pending = 0;
+            status = ioctlsocket(so->s, FIONREAD, &pending);
+            if (status < 0)
+                Log(("NAT:%s: error in WSAIoctl: %d\n", RT_GCC_EXTENSION __PRETTY_FUNCTION__, errno));
+            if (pending != 0)
+            {
+                SOCKET_UNLOCK(so);
+                STAM_PROFILE_STOP(&pData->StatIOread, a);
+                return 0;
+            }
         }
+
         if (   nn < 0
-            && soIgnorableErrorCode(errno))
+            && soIgnorableErrorCode(sockerr))
         {
             SOCKET_UNLOCK(so);
             STAM_PROFILE_STOP(&pData->StatIOread, a);
@@ -351,18 +361,18 @@ soread(PNATState pData, struct socket *so)
         }
         else
         {
-            int fUninitiolizedTemplate = 0;
-            fUninitiolizedTemplate = RT_BOOL((   sototcpcb(so)
+            int fUninitializedTemplate = 0;
+            fUninitializedTemplate = RT_BOOL((   sototcpcb(so)
                                               && (  sototcpcb(so)->t_template.ti_src.s_addr == INADDR_ANY
                                                  || sototcpcb(so)->t_template.ti_dst.s_addr == INADDR_ANY)));
             /* nn == 0 means peer has performed an orderly shutdown */
             Log2(("%s: disconnected, nn = %d, errno = %d (%s)\n",
-                  RT_GCC_EXTENSION __PRETTY_FUNCTION__, nn, errno, strerror(errno)));
+                  RT_GCC_EXTENSION __PRETTY_FUNCTION__, nn, sockerr, strerror(sockerr)));
             sofcantrcvmore(so);
-            if (!fUninitiolizedTemplate)
+            if (!fUninitializedTemplate)
                 tcp_sockclosed(pData, sototcpcb(so));
             else
-                tcp_drop(pData, sototcpcb(so), errno);
+                tcp_drop(pData, sototcpcb(so), sockerr);
             SOCKET_UNLOCK(so);
             STAM_PROFILE_STOP(&pData->StatIOread, a);
             return -1;
diff --git a/src/VBox/Devices/Network/slirp/tcp_output.c b/src/VBox/Devices/Network/slirp/tcp_output.c
index 00d52d0..86dd9d9 100644
--- a/src/VBox/Devices/Network/slirp/tcp_output.c
+++ b/src/VBox/Devices/Network/slirp/tcp_output.c
@@ -443,7 +443,7 @@ send:
     }
     else
     {
-        bool fUninitiolizedTemplate = false;
+        bool fUninitializedTemplate = false;
         if (tp->t_flags & TF_ACKNOW)
             tcpstat.tcps_sndacks++;
         else if (flags & (TH_SYN|TH_FIN|TH_RST))
@@ -487,10 +487,10 @@ send:
          * Uninitialized TCP template looks very suspicious at this processing state, thus why we have
          * to workaround the problem till right fix. Warning appears once at release log.
          */
-        fUninitiolizedTemplate = RT_BOOL((   tp->t_template.ti_src.s_addr == INADDR_ANY
+        fUninitializedTemplate = RT_BOOL((   tp->t_template.ti_src.s_addr == INADDR_ANY
                                           || tp->t_template.ti_dst.s_addr == INADDR_ANY));
 #ifndef DEBUG_vvl
-        if (fUninitiolizedTemplate)
+        if (fUninitializedTemplate)
         {
             static bool fWarn;
             tcp_template(tp);
@@ -501,7 +501,7 @@ send:
             }
         }
 #else
-        Assert((!fUninitiolizedTemplate));
+        Assert((!fUninitializedTemplate));
 #endif
     }
 
diff --git a/src/VBox/Devices/Network/slirp/tcp_subr.c b/src/VBox/Devices/Network/slirp/tcp_subr.c
index 26cdb4d..bfd3096 100644
--- a/src/VBox/Devices/Network/slirp/tcp_subr.c
+++ b/src/VBox/Devices/Network/slirp/tcp_subr.c
@@ -242,17 +242,17 @@ struct tcpcb *tcp_drop(PNATState pData, struct tcpcb *tp, int err)
         int errno;
 {
 */
-    int fUninitiolizedTemplate = 0;
+    int fUninitializedTemplate = 0;
 #ifndef LOG_ENABLED
     NOREF(err);
 #endif
     LogFlowFunc(("ENTER: tp = %R[tcpcb793], errno = %d\n", tp, err));
-    fUninitiolizedTemplate = RT_BOOL((   tp
+    fUninitializedTemplate = RT_BOOL((   tp
                                       && (  tp->t_template.ti_src.s_addr == INADDR_ANY
                                          || tp->t_template.ti_dst.s_addr == INADDR_ANY)));
 
     if (   TCPS_HAVERCVDSYN(tp->t_state)
-        && !fUninitiolizedTemplate)
+        && !fUninitializedTemplate)
     {
         TCP_STATE_SWITCH_TO(tp, TCPS_CLOSED);
         (void) tcp_output(pData, tp);
diff --git a/src/VBox/Devices/Network/slirp/tcp_timer.c b/src/VBox/Devices/Network/slirp/tcp_timer.c
index 1000eb3..1878c41 100644
--- a/src/VBox/Devices/Network/slirp/tcp_timer.c
+++ b/src/VBox/Devices/Network/slirp/tcp_timer.c
@@ -158,12 +158,12 @@ static struct tcpcb *
 tcp_timers(PNATState pData, register struct tcpcb *tp, int timer)
 {
     register int rexmt;
-    int fUninitiolizedTemplate = 0;
+    int fUninitializedTemplate = 0;
 
     LogFlowFunc(("ENTER: tp:%R[tcpcb793], timer:%d\n", tp, timer));
-    fUninitiolizedTemplate = RT_BOOL((   tp->t_template.ti_src.s_addr == INADDR_ANY
+    fUninitializedTemplate = RT_BOOL((   tp->t_template.ti_src.s_addr == INADDR_ANY
                                       || tp->t_template.ti_dst.s_addr == INADDR_ANY));
-    if (fUninitiolizedTemplate)
+    if (fUninitializedTemplate)
     {
         tp = tcp_drop(pData, tp, 0);
         return tp;
diff --git a/src/VBox/Devices/Network/slirp/tftp.c b/src/VBox/Devices/Network/slirp/tftp.c
index 56e7f5d..b494cb8 100644
--- a/src/VBox/Devices/Network/slirp/tftp.c
+++ b/src/VBox/Devices/Network/slirp/tftp.c
@@ -511,6 +511,8 @@ DECLINLINE(int) tftpReadDataBlock(PNATState pData,
 
     if (pcbReadData)
     {
+        size_t cbRead;
+
         rc = RTFileSeek(hSessionFile,
                         pcTftpSession->cbTransfered,
                         RTFILE_SEEK_BEGIN,
@@ -521,13 +523,14 @@ DECLINLINE(int) tftpReadDataBlock(PNATState pData,
             LogFlowFuncLeaveRC(rc);
             return rc;
         }
-        rc = RTFileRead(hSessionFile, pu8Data, u16BlkSize, (size_t *)pcbReadData);
+        rc = RTFileRead(hSessionFile, pu8Data, u16BlkSize, &cbRead);
         if (RT_FAILURE(rc))
         {
             RTFileClose(hSessionFile);
             LogFlowFuncLeaveRC(rc);
             return rc;
         }
+        *pcbReadData = (int)cbRead;
     }
 
     rc = RTFileClose(hSessionFile);
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
index f644a41..4068ee9 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
@@ -1115,7 +1115,7 @@ section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP
 
 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP
 _bios_cvs_version_string:                    ; 0xf0d8e LB 0x12
-    db  'VirtualBox 5.1.4', 000h, 000h
+    db  'VirtualBox 5.1.6', 000h, 000h
 _bios_prefix_string:                         ; 0xf0da0 LB 0x8
     db  'BIOS: ', 000h, 000h
 _isotag:                                     ; 0xf0da8 LB 0x6
@@ -17798,4 +17798,4 @@ biosorg_check_before_or_at_0FFEEh:           ; 0xfff80 LB 0x70
     db  'XM'
 cpu_reset:                                   ; 0xffff0 LB 0x10
     jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
-    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 087h
+    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 085h
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
index 81ba84a..3eccb07 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
@@ -1 +1 @@
-93fdca31e59bf023799f623118cbee9d *VBoxPcBios286.rom
+8d283db6e2cf25fe325e422a7059af2f *VBoxPcBios286.rom
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
index 178e72b..a666199 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
@@ -1078,7 +1078,7 @@ section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP
 
 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP
 _bios_cvs_version_string:                    ; 0xf0d8e LB 0x12
-    db  'VirtualBox 5.1.4', 000h, 000h
+    db  'VirtualBox 5.1.6', 000h, 000h
 _bios_prefix_string:                         ; 0xf0da0 LB 0x8
     db  'BIOS: ', 000h, 000h
 _isotag:                                     ; 0xf0da8 LB 0x6
@@ -17197,4 +17197,4 @@ biosorg_check_before_or_at_0FFEEh:           ; 0xfff80 LB 0x70
     db  'XM'
 cpu_reset:                                   ; 0xffff0 LB 0x10
     jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
-    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 018h
+    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 016h
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
index e6c279a..067ed80 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
@@ -1 +1 @@
-6edd2ad6c1d2822c7df8efbc560f379b *VBoxPcBios386.rom
+94e364df8bb6ff7b914414b7e90b798c *VBoxPcBios386.rom
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
index cab9062..732f2be 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
@@ -1115,7 +1115,7 @@ section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP
 
 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP
 _bios_cvs_version_string:                    ; 0xf0d8e LB 0x12
-    db  'VirtualBox 5.1.4', 000h, 000h
+    db  'VirtualBox 5.1.6', 000h, 000h
 _bios_prefix_string:                         ; 0xf0da0 LB 0x8
     db  'BIOS: ', 000h, 000h
 _isotag:                                     ; 0xf0da8 LB 0x6
@@ -18273,4 +18273,4 @@ biosorg_check_before_or_at_0FFEEh:           ; 0xfff80 LB 0x70
     db  'XM'
 cpu_reset:                                   ; 0xffff0 LB 0x10
     jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
-    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 035h
+    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 033h
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
index c6bdb1f..51b1ec1 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
@@ -1 +1 @@
-3ef56c0331728fdeba1df2ab23a5ebdc *VBoxPcBios8086.rom
+50a063ed79ce0ccf7dd9140a582a0cbb *VBoxPcBios8086.rom
diff --git a/src/VBox/Devices/Serial/DevSerial.cpp b/src/VBox/Devices/Serial/DevSerial.cpp
index 70564d8..5ddb1b1 100644
--- a/src/VBox/Devices/Serial/DevSerial.cpp
+++ b/src/VBox/Devices/Serial/DevSerial.cpp
@@ -1051,7 +1051,7 @@ static DECLCALLBACK(int) serialLoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uin
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
 static DECLCALLBACK(int) serialIOPortRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress,
-                                               uint32_t cb, PCIADDRESSSPACE enmType)
+                                               RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     PDEVSERIAL pThis = RT_FROM_MEMBER(pPciDev, DEVSERIAL, PciDev);
     int rc = VINF_SUCCESS;
diff --git a/src/VBox/Devices/Serial/DrvHostSerial.cpp b/src/VBox/Devices/Serial/DrvHostSerial.cpp
index a67ad98..67bb7ac 100644
--- a/src/VBox/Devices/Serial/DrvHostSerial.cpp
+++ b/src/VBox/Devices/Serial/DrvHostSerial.cpp
@@ -113,11 +113,9 @@ typedef struct DRVHOSTSERIAL
     RTPIPE                      hWakeupPipeR;
     /** The write end of the control pipe */
     RTPIPE                      hWakeupPipeW;
-# ifndef RT_OS_LINUX
     /** The current line status.
      * Used by the polling version of drvHostSerialMonitorThread.  */
     int                         fStatusLines;
-# endif
 #elif defined(RT_OS_WINDOWS)
     /** the device handle */
     HANDLE                      hDeviceFile;
@@ -894,8 +892,10 @@ static DECLCALLBACK(int) drvHostSerialWakeupRecvThread(PPDMDRVINS pDrvIns, PPDMT
 static DECLCALLBACK(int) drvHostSerialMonitorThread(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
 {
     PDRVHOSTSERIAL pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTSERIAL);
-    int rc = VINF_SUCCESS;
     unsigned long const uStatusLinesToCheck = TIOCM_CAR | TIOCM_RNG | TIOCM_DSR | TIOCM_CTS;
+#ifdef RT_OS_LINUX
+    bool fPoll = false;
+#endif
 
     if (pThread->enmState == PDMTHREADSTATE_INITIALIZING)
         return VINF_SUCCESS;
@@ -907,8 +907,8 @@ static DECLCALLBACK(int) drvHostSerialMonitorThread(PPDMDRVINS pDrvIns, PPDMTHRE
         /*
          * Get the status line state.
          */
-        rc = ioctl(RTFileToNative(pThis->hDeviceFile), TIOCMGET, &statusLines);
-        if (rc < 0)
+        int rcPsx = ioctl(RTFileToNative(pThis->hDeviceFile), TIOCMGET, &statusLines);
+        if (rcPsx < 0)
         {
             PDMDrvHlpVMSetRuntimeError(pDrvIns, 0 /*fFlags*/, "DrvHostSerialFail",
                                        N_("Ioctl failed for serial host device '%s' (%Rrc). The device will not work properly"),
@@ -939,16 +939,37 @@ static DECLCALLBACK(int) drvHostSerialMonitorThread(PPDMDRVINS pDrvIns, PPDMTHRE
          * waiting in ioctl for a modem status change then 8250.c wrongly disables
          * modem irqs and so the monitor thread never gets released. The workaround
          * is to send a signal after each tcsetattr.
+         *
+         * TIOCMIWAIT doesn't work for the DSR line with TIOCM_DSR set
+         * (see http://lxr.linux.no/#linux+v4.7/drivers/usb/class/cdc-acm.c#L949)
+         * However as it is possible to query the line state we will not just clear
+         * the TIOCM_DSR bit from the lines to check but resort to the polling
+         * approach just like on other hosts.
          */
-        ioctl(RTFileToNative(pThis->hDeviceFile), TIOCMIWAIT, uStatusLinesToCheck);
+        if (!fPoll)
+        {
+            rcPsx = ioctl(RTFileToNative(pThis->hDeviceFile), TIOCMIWAIT, uStatusLinesToCheck);
+            if (rcPsx < 0)
+            {
+                LogRel(("Serial#%u: Failed to wait for status line change, switch to polling\n", pDrvIns->iInstance));
+                fPoll = true;
+                pThis->fStatusLines = statusLines;
+            }
+        }
+        else
+        {
+            /* Poll for status line change. */
+            if (!((statusLines ^ pThis->fStatusLines) & uStatusLinesToCheck))
+                PDMR3ThreadSleep(pThread, 500); /* 0.5 sec */
+            pThis->fStatusLines = statusLines;
+        }
 # else
         /* Poll for status line change. */
         if (!((statusLines ^ pThis->fStatusLines) & uStatusLinesToCheck))
             PDMR3ThreadSleep(pThread, 500); /* 0.5 sec */
         pThis->fStatusLines = statusLines;
 # endif
-    }
-    while (PDMTHREADSTATE_RUNNING == pThread->enmState);
+    } while (PDMTHREADSTATE_RUNNING == pThread->enmState);
 
     return VINF_SUCCESS;
 }
diff --git a/src/VBox/Devices/Storage/DevAHCI.cpp b/src/VBox/Devices/Storage/DevAHCI.cpp
index 4e857d2..51d222a 100644
--- a/src/VBox/Devices/Storage/DevAHCI.cpp
+++ b/src/VBox/Devices/Storage/DevAHCI.cpp
@@ -2548,15 +2548,17 @@ PDMBOTHCBDECL(int) ahciIdxDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Po
 
 #ifdef IN_RING3
 
-static DECLCALLBACK(int)
-ahciR3MMIOMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+/**
+ * @callback_method_impl{FNPCIIOREGIONMAP}
+ */
+static DECLCALLBACK(int) ahciR3MMIOMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress,
+                                       RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, enmType);
     PAHCI pThis = PCIDEV_2_PAHCI(pPciDev);
     PPDMDEVINS pDevIns = pPciDev->pDevIns;
-    int   rc = VINF_SUCCESS;
 
-    Log2(("%s: registering MMIO area at GCPhysAddr=%RGp cb=%u\n", __FUNCTION__, GCPhysAddress, cb));
+    Log2(("%s: registering MMIO area at GCPhysAddr=%RGp cb=%RGp\n", __FUNCTION__, GCPhysAddress, cb));
 
     Assert(enmType == PCI_ADDRESS_SPACE_MEM);
     Assert(cb >= 4352);
@@ -2564,9 +2566,9 @@ ahciR3MMIOMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddre
     /* We use the assigned size here, because we currently only support page aligned MMIO ranges. */
     /** @todo change this to IOMMMIO_FLAGS_WRITE_ONLY_DWORD once EM/IOM starts
      * handling 2nd DWORD failures on split accesses correctly. */
-    rc = PDMDevHlpMMIORegister(pDevIns, GCPhysAddress, cb, NULL /*pvUser*/,
-                               IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_ONLY_DWORD_QWORD,
-                               ahciMMIOWrite, ahciMMIORead, "AHCI");
+    int rc = PDMDevHlpMMIORegister(pDevIns, GCPhysAddress, cb, NULL /*pvUser*/,
+                                   IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_ONLY_DWORD_QWORD,
+                                   ahciMMIOWrite, ahciMMIORead, "AHCI");
     if (RT_FAILURE(rc))
         return rc;
 
@@ -2588,18 +2590,21 @@ ahciR3MMIOMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddre
     return rc;
 }
 
+
 /**
- * Map the legacy I/O port ranges to make Solaris work with the controller.
+ * @callback_method_impl{FNPCIIOREGIONMAP,
+ *      Map the legacy I/O port ranges to make Solaris work with the
+ *      controller.}
  */
-static DECLCALLBACK(int)
-ahciR3LegacyFakeIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) ahciR3LegacyFakeIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress,
+                                                    RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, enmType);
     PAHCI pThis = PCIDEV_2_PAHCI(pPciDev);
     PPDMDEVINS pDevIns = pPciDev->pDevIns;
     int   rc = VINF_SUCCESS;
 
-    Log2(("%s: registering fake I/O area at GCPhysAddr=%RGp cb=%u\n", __FUNCTION__, GCPhysAddress, cb));
+    Log2(("%s: registering fake I/O area at GCPhysAddr=%RGp cb=%RGp\n", __FUNCTION__, GCPhysAddress, cb));
 
     Assert(enmType == PCI_ADDRESS_SPACE_IO);
 
@@ -2629,17 +2634,18 @@ ahciR3LegacyFakeIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHY
 }
 
 /**
- * Map the BMDMA I/O port range (used for the Index/Data pair register access)
+ * @callback_method_impl{FNPCIIOREGIONMAP,
+ *      Map the BMDMA I/O port range (used for the Index/Data pair register access)}
  */
-static DECLCALLBACK(int)
-ahciR3IdxDataIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) ahciR3IdxDataIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion, RTGCPHYS GCPhysAddress,
+                                                 RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, enmType);
     PAHCI pThis = PCIDEV_2_PAHCI(pPciDev);
     PPDMDEVINS pDevIns = pPciDev->pDevIns;
     int   rc = VINF_SUCCESS;
 
-    Log2(("%s: registering fake I/O area at GCPhysAddr=%RGp cb=%u\n", __FUNCTION__, GCPhysAddress, cb));
+    Log2(("%s: registering fake I/O area at GCPhysAddr=%RGp cb=%RGp\n", __FUNCTION__, GCPhysAddress, cb));
 
     Assert(enmType == PCI_ADDRESS_SPACE_IO);
 
diff --git a/src/VBox/Devices/Storage/DevATA.cpp b/src/VBox/Devices/Storage/DevATA.cpp
index da09828..8bcf880 100644
--- a/src/VBox/Devices/Storage/DevATA.cpp
+++ b/src/VBox/Devices/Storage/DevATA.cpp
@@ -6122,7 +6122,7 @@ PDMBOTHCBDECL(int) ataBMDMAIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPOR
  * @param   enmType         One of the PCI_ADDRESS_SPACE_* values.
  */
 static DECLCALLBACK(int) ataR3BMDMAIORangeMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion,
-                                              RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+                                              RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, cb, enmType);
     PCIATAState *pThis = PCIDEV_2_PCIATASTATE(pPciDev);
diff --git a/src/VBox/Devices/Storage/DevBusLogic.cpp b/src/VBox/Devices/Storage/DevBusLogic.cpp
index 0b99aba..93dd37d 100644
--- a/src/VBox/Devices/Storage/DevBusLogic.cpp
+++ b/src/VBox/Devices/Storage/DevBusLogic.cpp
@@ -2767,15 +2767,18 @@ static void buslogicR3RedoSetWarning(PBUSLOGIC pThis, int rc)
 }
 
 
+/**
+ * @callback_method_impl{FNPCIIOREGIONMAP}
+ */
 static DECLCALLBACK(int) buslogicR3MmioMap(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion,
-                                           RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+                                           RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion);
     PPDMDEVINS pDevIns = pPciDev->pDevIns;
     PBUSLOGIC  pThis = PDMINS_2_DATA(pDevIns, PBUSLOGIC);
     int   rc = VINF_SUCCESS;
 
-    Log2(("%s: registering MMIO area at GCPhysAddr=%RGp cb=%u\n", __FUNCTION__, GCPhysAddress, cb));
+    Log2(("%s: registering MMIO area at GCPhysAddr=%RGp cb=%RGp\n", __FUNCTION__, GCPhysAddress, cb));
 
     Assert(cb >= 32);
 
diff --git a/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp b/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
index 3d856b3..9d115b6 100644
--- a/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
+++ b/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
@@ -3939,7 +3939,7 @@ static DECLCALLBACK(int) lsilogicR3IsaIOPortReadStr(PPDMDEVINS pDevIns, void *pv
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
 static DECLCALLBACK(int) lsilogicR3Map(PPCIDEVICE pPciDev, /*unsigned*/ int iRegion,
-                                       RTGCPHYS GCPhysAddress, uint32_t cb,
+                                       RTGCPHYS GCPhysAddress, RTGCPHYS cb,
                                        PCIADDRESSSPACE enmType)
 {
     PPDMDEVINS pDevIns = pPciDev->pDevIns;
@@ -3952,7 +3952,7 @@ static DECLCALLBACK(int) lsilogicR3Map(PPCIDEVICE pPciDev, /*unsigned*/ int iReg
                            ? "LsiLogicDiag"
                            : "LsiLogicSasDiag";
 
-    Log2(("%s: registering area at GCPhysAddr=%RGp cb=%u\n", __FUNCTION__, GCPhysAddress, cb));
+    Log2(("%s: registering area at GCPhysAddr=%RGp cb=%RGp\n", __FUNCTION__, GCPhysAddress, cb));
 
     AssertMsg(   (enmType == PCI_ADDRESS_SPACE_MEM && cb >= LSILOGIC_PCI_SPACE_MEM_SIZE)
               || (enmType == PCI_ADDRESS_SPACE_IO  && cb >= LSILOGIC_PCI_SPACE_IO_SIZE),
diff --git a/src/VBox/Devices/Storage/DrvVD.cpp b/src/VBox/Devices/Storage/DrvVD.cpp
index 5039c96..b9f284d 100644
--- a/src/VBox/Devices/Storage/DrvVD.cpp
+++ b/src/VBox/Devices/Storage/DrvVD.cpp
@@ -3042,17 +3042,39 @@ static int drvvdMediaExIoReqReadWriteProcess(PVBOXDISK pThis, PPDMMEDIAEXIOREQIN
         size_t cbReqIo = RT_MIN(pIoReq->ReadWrite.cbReqLeft, pIoReq->ReadWrite.cbIoBuf);
 
         if (pIoReq->enmType == PDMMEDIAEXIOREQTYPE_READ)
-            rc = VDAsyncRead(pThis->pDisk, pIoReq->ReadWrite.offStart, cbReqIo, &pIoReq->ReadWrite.IoBuf.SgBuf,
-                             drvvdMediaExIoReqComplete, pThis, pIoReq);
+        {
+            if (pThis->fAsyncIOSupported)
+                rc = VDAsyncRead(pThis->pDisk, pIoReq->ReadWrite.offStart, cbReqIo, &pIoReq->ReadWrite.IoBuf.SgBuf,
+                                 drvvdMediaExIoReqComplete, pThis, pIoReq);
+            else
+            {
+                void *pvBuf = RTSgBufGetNextSegment(&pIoReq->ReadWrite.IoBuf.SgBuf, &cbReqIo);
+
+                Assert(cbReqIo > 0 && VALID_PTR(pvBuf));
+                rc = VDRead(pThis->pDisk, pIoReq->ReadWrite.offStart, pvBuf, cbReqIo);
+                if (RT_SUCCESS(rc))
+                    rc = VINF_VD_ASYNC_IO_FINISHED;
+            }
+        }
         else
         {
             /* Sync memory buffer from the request initiator. */
             rc = drvvdMediaExIoReqBufSync(pThis, pIoReq, true /* fToIoBuf */);
             if (RT_SUCCESS(rc))
             {
-                rc = VDAsyncWrite(pThis->pDisk, pIoReq->ReadWrite.offStart, cbReqIo,
-                                  &pIoReq->ReadWrite.IoBuf.SgBuf,
-                                  drvvdMediaExIoReqComplete, pThis, pIoReq);
+                if (pThis->fAsyncIOSupported)
+                    rc = VDAsyncWrite(pThis->pDisk, pIoReq->ReadWrite.offStart, cbReqIo,
+                                      &pIoReq->ReadWrite.IoBuf.SgBuf,
+                                      drvvdMediaExIoReqComplete, pThis, pIoReq);
+                else
+                {
+                    void *pvBuf = RTSgBufGetNextSegment(&pIoReq->ReadWrite.IoBuf.SgBuf, &cbReqIo);
+
+                    Assert(cbReqIo > 0 && VALID_PTR(pvBuf));
+                    rc = VDWrite(pThis->pDisk, pIoReq->ReadWrite.offStart, pvBuf, cbReqIo);
+                    if (RT_SUCCESS(rc))
+                        rc = VINF_VD_ASYNC_IO_FINISHED;
+                }
             }
         }
 
@@ -3449,7 +3471,12 @@ static DECLCALLBACK(int) drvvdIoReqFlush(PPDMIMEDIAEX pInterface, PDMMEDIAEXIORE
     }
 
     ASMAtomicIncU32(&pThis->cIoReqsActive);
-    int rc = VDAsyncFlush(pThis->pDisk, drvvdMediaExIoReqComplete, pThis, pIoReq);
+    int rc = VINF_SUCCESS;
+    if (pThis->fAsyncIOSupported)
+        rc = VDAsyncFlush(pThis->pDisk, drvvdMediaExIoReqComplete, pThis, pIoReq);
+    else
+        rc = VDFlush(pThis->pDisk);
+
     if (rc == VERR_VD_ASYNC_IO_IN_PROGRESS)
         rc = VINF_PDM_MEDIAEX_IOREQ_IN_PROGRESS;
     else if (rc == VINF_VD_ASYNC_IO_FINISHED)
diff --git a/src/VBox/Devices/Storage/VBoxSCSI.cpp b/src/VBox/Devices/Storage/VBoxSCSI.cpp
index f795aec..7707e79 100644
--- a/src/VBox/Devices/Storage/VBoxSCSI.cpp
+++ b/src/VBox/Devices/Storage/VBoxSCSI.cpp
@@ -28,6 +28,7 @@
 
 #include <VBox/vmm/pdmdev.h>
 #include <VBox/vmm/pgm.h>
+#include <VBox/version.h>
 #include <iprt/asm.h>
 #include <iprt/mem.h>
 #include <iprt/thread.h>
@@ -469,7 +470,24 @@ DECLHIDDEN(int) vboxscsiR3LoadExec(PVBOXSCSI pVBoxSCSI, PSSMHANDLE pSSM)
     SSMR3GetU8  (pSSM, &pVBoxSCSI->uTargetDevice);
     SSMR3GetU8  (pSSM, &pVBoxSCSI->uTxDir);
     SSMR3GetU8  (pSSM, &pVBoxSCSI->cbCDB);
-    SSMR3GetMem (pSSM, &pVBoxSCSI->abCDB[0], sizeof(pVBoxSCSI->abCDB));
+
+    /*
+     * The CDB buffer was increased with r104155 in trunk (backported to 5.0
+     * in r104311) without bumping the SSM state versions which leaves us
+     * with broken saved state restoring for older VirtualBox releases
+     * (up to 5.0.10).
+     */
+    if (   (   SSMR3HandleRevision(pSSM) < 104311
+            && SSMR3HandleVersion(pSSM)  < VBOX_FULL_VERSION_MAKE(5, 0, 12))
+        || (   SSMR3HandleRevision(pSSM) < 104155
+            && SSMR3HandleVersion(pSSM)  >= VBOX_FULL_VERSION_MAKE(5, 0, 51)))
+    {
+        memset(&pVBoxSCSI->abCDB[0], 0, sizeof(pVBoxSCSI->abCDB));
+        SSMR3GetMem (pSSM, &pVBoxSCSI->abCDB[0], 12);
+    }
+    else
+        SSMR3GetMem (pSSM, &pVBoxSCSI->abCDB[0], sizeof(pVBoxSCSI->abCDB));
+
     SSMR3GetU8  (pSSM, &pVBoxSCSI->iCDB);
     SSMR3GetU32 (pSSM, &pVBoxSCSI->cbBufLeft);
     SSMR3GetU32 (pSSM, &pVBoxSCSI->iBuf);
diff --git a/src/VBox/Devices/USB/DevOHCI.cpp b/src/VBox/Devices/USB/DevOHCI.cpp
index b513cbe..f7e7a42 100644
--- a/src/VBox/Devices/USB/DevOHCI.cpp
+++ b/src/VBox/Devices/USB/DevOHCI.cpp
@@ -5359,7 +5359,7 @@ PDMBOTHCBDECL(int) ohciMmioWrite(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPh
 /**
  * @callback_method_impl{FNPCIIOREGIONMAP}
  */
-static DECLCALLBACK(int) ohciR3Map(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+static DECLCALLBACK(int) ohciR3Map(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF(iRegion, enmType);
     POHCI pThis = (POHCI)pPciDev;
diff --git a/src/VBox/Devices/VMMDev/VMMDev.cpp b/src/VBox/Devices/VMMDev/VMMDev.cpp
index 16868d0..d039e8a 100644
--- a/src/VBox/Devices/VMMDev/VMMDev.cpp
+++ b/src/VBox/Devices/VMMDev/VMMDev.cpp
@@ -2878,10 +2878,10 @@ static DECLCALLBACK(int) vmmdevRequestHandler(PPDMDEVINS pDevIns, void *pvUser,
  * @callback_method_impl{FNPCIIOREGIONMAP,MMIO/MMIO2 regions}
  */
 static DECLCALLBACK(int)
-vmmdevIORAMRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+vmmdevIORAMRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF1(cb);
-    LogFlow(("vmmdevR3IORAMRegionMap: iRegion=%d GCPhysAddress=%RGp cb=%#x enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
+    LogFlow(("vmmdevR3IORAMRegionMap: iRegion=%d GCPhysAddress=%RGp cb=%RGp enmType=%d\n", iRegion, GCPhysAddress, cb, enmType));
     PVMMDEV pThis = RT_FROM_MEMBER(pPciDev, VMMDEV, PciDev);
     int rc;
 
@@ -2946,7 +2946,7 @@ vmmdevIORAMRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, ui
  * @callback_method_impl{FNPCIIOREGIONMAP,I/O Port Region}
  */
 static DECLCALLBACK(int)
-vmmdevIOPortRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, uint32_t cb, PCIADDRESSSPACE enmType)
+vmmdevIOPortRegionMap(PPCIDEVICE pPciDev, int iRegion, RTGCPHYS GCPhysAddress, RTGCPHYS cb, PCIADDRESSSPACE enmType)
 {
     RT_NOREF3(iRegion, cb, enmType);
     PVMMDEV pThis = RT_FROM_MEMBER(pPciDev, VMMDEV, PciDev);
diff --git a/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp b/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
index 9d3534f..80ff057 100644
--- a/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
+++ b/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
@@ -227,6 +227,7 @@ int main()
     GEN_CHECK_OFF(ICH9PCIGLOBALS, uaPciApicIrqLevels[1]);
     GEN_CHECK_OFF(ICH9PCIGLOBALS, uPciBiosIo);
     GEN_CHECK_OFF(ICH9PCIGLOBALS, uPciBiosMmio);
+    GEN_CHECK_OFF(ICH9PCIGLOBALS, uPciBiosMmio64);
     GEN_CHECK_OFF(ICH9PCIGLOBALS, uBus);
     GEN_CHECK_OFF(ICH9PCIGLOBALS, u64PciConfigMMioAddress);
     GEN_CHECK_OFF(ICH9PCIGLOBALS, u64PciConfigMMioLength);
diff --git a/src/VBox/Frontends/VBoxBugReport/Makefile.kmk b/src/VBox/Frontends/VBoxBugReport/Makefile.kmk
index 6e7cfb3..139891c 100644
--- a/src/VBox/Frontends/VBoxBugReport/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxBugReport/Makefile.kmk
@@ -24,7 +24,8 @@ PROGRAMS += VBoxBugReport
  VBoxBugReport_TEMPLATE   = VBOXMAINCLIENTEXE
 # VBoxBugReport_DEFS      += \
 	VBOX_WATCHDOG_GLOBAL_PERFCOL VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\"
- VBoxBugReport_DEFS.win   = _WIN32_WINNT=0x0501
+ VBoxBugReport_DEFS.win   = _WIN32_WINNT=0x0501 PSAPI_VERSION=1
+ VBoxBugReport_LIBS.win   = psapi.lib
  VBoxBugReport_SOURCES    = \
 	VBoxBugReport.cpp
  VBoxBugReport_SOURCES.win = \
diff --git a/src/VBox/Frontends/VBoxBugReport/VBoxBugReport.cpp b/src/VBox/Frontends/VBoxBugReport/VBoxBugReport.cpp
index 55d053a..6eda39e 100644
--- a/src/VBox/Frontends/VBoxBugReport/VBoxBugReport.cpp
+++ b/src/VBox/Frontends/VBoxBugReport/VBoxBugReport.cpp
@@ -116,6 +116,35 @@ MachineInfo::~MachineInfo()
 typedef std::list<MachineInfo*> MachineInfoList;
 
 
+class VBRDir
+{
+public:
+    VBRDir(const char *pcszPath)
+        {
+            int rc = RTDirOpenFiltered(&m_pDir, pcszPath, RTDIRFILTER_WINNT, 0);
+            if (RT_FAILURE(rc))
+                throw RTCError(com::Utf8StrFmt("Failed to open directory '%s'\n", pcszPath));
+        };
+    ~VBRDir()
+        {
+            int rc = RTDirClose(m_pDir);
+            AssertRC(rc);
+        };
+    const char *next(void)
+        {
+            int rc = RTDirRead(m_pDir, &m_DirEntry, NULL);
+            if (RT_SUCCESS(rc))
+                return m_DirEntry.szName;
+            else if (rc == VERR_NO_MORE_FILES)
+                return NULL;
+            throw RTCError("Failed to read directory element\n");
+        };
+
+private:
+    PRTDIR m_pDir;
+    RTDIRENTRY m_DirEntry;
+};
+
 /*
  * An abstract class serving as the root of the bug report item tree.
  */
@@ -460,15 +489,28 @@ void BugReportTarGzip::complete(void)
 
 void createBugReport(BugReport* report, const char *pszHome, MachineInfoList& machines)
 {
-    report->addItem(new BugReportFile(PathJoin(pszHome, "VBoxSVC.log"), "VBoxSVC.log"));
-    report->addItem(new BugReportFile(PathJoin(pszHome, "VBoxSVC.log.1"), "VBoxSVC.log.1"));
+    /* Collect all log files from VBoxSVC */
+    VBRDir HomeDir(PathJoin(pszHome, "VBoxSVC.log*"));
+    const char *pcszSvcLogFile = HomeDir.next();
+    while (pcszSvcLogFile)
+    {
+        report->addItem(new BugReportFile(PathJoin(pszHome, pcszSvcLogFile), pcszSvcLogFile));
+        pcszSvcLogFile = HomeDir.next();
+    }
+
     report->addItem(new BugReportFile(PathJoin(pszHome, "VirtualBox.xml"), "VirtualBox.xml"));
     report->addItem(new BugReportCommand("HostUsbDevices", g_pszVBoxManage, "list", "usbhost", NULL));
     report->addItem(new BugReportCommand("HostUsbFilters", g_pszVBoxManage, "list", "usbfilters", NULL));
     for (MachineInfoList::iterator it = machines.begin(); it != machines.end(); ++it)
     {
-        report->addItem(new BugReportFile(PathJoin((*it)->getLogPath(), "VBox.log"),
-                                         PathJoin((*it)->getName(),    "VBox.log")));
+        VBRDir VmDir(PathJoin((*it)->getLogPath(), "VBox.log*"));
+        const char *pcszVmLogFile = HomeDir.next();
+        while (pcszVmLogFile)
+        {
+            report->addItem(new BugReportFile(PathJoin((*it)->getLogPath(), pcszVmLogFile),
+                                              PathJoin((*it)->getName(), pcszVmLogFile)));
+            pcszVmLogFile = HomeDir.next();
+        }
         report->addItem(new BugReportFile((*it)->getSettingsFile(),
                                          PathJoin((*it)->getName(), RTPathFilename((*it)->getSettingsFile()))));
         report->addItem(new BugReportCommand(PathJoin((*it)->getName(), "GuestProperties"),
@@ -557,15 +599,14 @@ int main(int argc, char *argv[])
 
     try
     {
-        /* Figure out full path to VBoxManage */
-        char *pszVBoxBin = RTStrDup(argv[0]);
-        if (!pszVBoxBin)
-            throw RTCError("Out of memory\n");
-        RTPathStripFilename(pszVBoxBin);
-        g_pszVBoxManage = RTPathJoinA(pszVBoxBin, VBOXMANAGE);
+        /* Figure out the full path to VBoxManage */
+        char szVBoxBin[RTPATH_MAX];
+        if (!RTProcGetExecutablePath(szVBoxBin, sizeof(szVBoxBin)))
+            throw RTCError("RTProcGetExecutablePath failed\n");
+        RTPathStripFilename(szVBoxBin);
+        g_pszVBoxManage = RTPathJoinA(szVBoxBin, VBOXMANAGE);
         if (!g_pszVBoxManage)
             throw RTCError("Out of memory\n");
-        RTStrFree(pszVBoxBin);
 
         handleComError(com::Initialize(), "Failed to initialize COM");
 
@@ -580,6 +621,8 @@ int main(int argc, char *argv[])
             hr = virtualBoxClient.createLocalObject(CLSID_VirtualBoxClient);
             if (SUCCEEDED(hr))
                 hr = virtualBoxClient->COMGETTER(VirtualBox)(virtualBox.asOutParam());
+            else
+                hr = virtualBox.createLocalObject(CLSID_VirtualBox);
             if (FAILED(hr))
                 RTStrmPrintf(g_pStdErr, "WARNING: Failed to create the VirtualBox object (hr=0x%x)\n", hr);
             else
diff --git a/src/VBox/Frontends/VBoxBugReport/VBoxBugReportWin.cpp b/src/VBox/Frontends/VBoxBugReport/VBoxBugReportWin.cpp
index 814863b..cac11f6 100644
--- a/src/VBox/Frontends/VBoxBugReport/VBoxBugReportWin.cpp
+++ b/src/VBox/Frontends/VBoxBugReport/VBoxBugReportWin.cpp
@@ -28,6 +28,7 @@
 #include <devguid.h>
 #include <usbiodef.h>
 #include <usbioctl.h>
+#include <psapi.h>
 
 #define ReleaseAndReset(obj) \
     if (obj) \
@@ -560,6 +561,138 @@ void BugReportUsbTreeWin::enumerate()
     }
 }
 
+class BugReportDriversWin : public BugReportStream
+{
+public:
+    BugReportDriversWin();
+    virtual ~BugReportDriversWin();
+    virtual PRTSTREAM getStream(void) { enumerateDrivers(); return BugReportStream::getStream(); }
+private:
+    void enumerateDrivers(void);
+
+    WCHAR  *m_pwszSystemRoot;
+    UINT    m_cSystemRoot;
+    LPVOID *m_pDrivers;
+    DWORD   m_cDrivers;
+    LPVOID  m_pVerInfo;
+    DWORD   m_cbVerInfo;
+};
+
+BugReportDriversWin::BugReportDriversWin() : BugReportStream("DriverVersions")
+{
+    m_cSystemRoot = MAX_PATH;
+    m_pwszSystemRoot = new WCHAR[MAX_PATH];
+    m_cDrivers = 1024;
+    m_pDrivers = new LPVOID[m_cDrivers];
+    m_pVerInfo = NULL;
+    m_cbVerInfo = 0;
+}
+
+BugReportDriversWin::~BugReportDriversWin()
+{
+    if (m_pVerInfo)
+        RTMemTmpFree(m_pVerInfo);
+    delete[] m_pDrivers;
+    delete[] m_pwszSystemRoot;
+}
+
+void BugReportDriversWin::enumerateDrivers()
+{
+    UINT cNeeded = GetWindowsDirectory(m_pwszSystemRoot, m_cSystemRoot);
+    if (cNeeded > m_cSystemRoot)
+    {
+        /* Re-allocate and try again */
+        m_cSystemRoot = cNeeded;
+        delete[] m_pwszSystemRoot;
+        m_pwszSystemRoot = new WCHAR[m_cSystemRoot];
+        cNeeded = GetWindowsDirectory(m_pwszSystemRoot, m_cSystemRoot);
+    }
+    if (cNeeded == 0)
+        handleWinError(GetLastError(), "GetWindowsDirectory failed");
+
+    DWORD cbNeeded = 0;
+    if (    !EnumDeviceDrivers(m_pDrivers, m_cDrivers * sizeof(m_pDrivers[0]), &cbNeeded)
+         || cbNeeded > m_cDrivers * sizeof(m_pDrivers[0]))
+    {
+        /* Re-allocate and try again */
+        m_cDrivers = cbNeeded / sizeof(m_pDrivers[0]);
+        delete[] m_pDrivers;
+        m_pDrivers = new LPVOID[m_cDrivers];
+        if (!EnumDeviceDrivers(m_pDrivers, cbNeeded, &cbNeeded))
+            handleWinError(GetLastError(), "EnumDeviceDrivers failed (%p, %u)", m_pDrivers, cbNeeded);
+    }
+
+    WCHAR wszDriver[1024];
+    for (unsigned i = 0; i < m_cDrivers; i++)
+    {
+        if (GetDeviceDriverBaseName(m_pDrivers[i], wszDriver, RT_ELEMENTS(wszDriver)))
+        {
+            if (_wcsnicmp(L"vbox", wszDriver, 4))
+                continue;
+        }
+        else
+            continue;
+        if (GetDeviceDriverFileName(m_pDrivers[i], wszDriver, RT_ELEMENTS(wszDriver)))
+        {
+            WCHAR wszTmpDrv[1024];
+            WCHAR *pwszDrv = wszDriver;
+            if (!wcsncmp(L"\\SystemRoot", wszDriver, 11))
+            {
+                wcsncpy_s(wszTmpDrv, m_pwszSystemRoot, m_cSystemRoot);
+                wcsncat_s(wszTmpDrv, wszDriver + 11, RT_ELEMENTS(wszTmpDrv) - m_cSystemRoot);
+                pwszDrv = wszTmpDrv;
+            }
+            else if (!wcsncmp(L"\\??\\", wszDriver, 4))
+                pwszDrv = wszDriver + 4;
+
+
+            /* Allocate a buffer for version info. Reuse if large enough. */
+            DWORD cbNewVerInfo = GetFileVersionInfoSize(pwszDrv, NULL);
+            if (cbNewVerInfo > m_cbVerInfo)
+            {
+                if (m_pVerInfo)
+                    RTMemTmpFree(m_pVerInfo);
+                m_cbVerInfo = cbNewVerInfo;
+                m_pVerInfo = RTMemTmpAlloc(m_cbVerInfo);
+                if (!m_pVerInfo)
+                    throw RTCError(RTCStringFmt("Failed to allocate %u bytes", m_cbVerInfo).c_str());
+            }
+
+            if (GetFileVersionInfo(pwszDrv, NULL, m_cbVerInfo, m_pVerInfo))
+            {
+                UINT   cbSize = 0;
+                LPBYTE lpBuffer = NULL;
+                if (VerQueryValue(m_pVerInfo, L"\\", (VOID FAR* FAR*)&lpBuffer, &cbSize))
+                {
+                    if (cbSize)
+                    {
+                        VS_FIXEDFILEINFO *pFileInfo = (VS_FIXEDFILEINFO *)lpBuffer;
+                        if (pFileInfo->dwSignature == 0xfeef04bd)
+                        {
+                            printf("%ls (Version: %d.%d.%d.%d)\n", pwszDrv,
+                                   (pFileInfo->dwFileVersionMS >> 16) & 0xffff,
+                                   (pFileInfo->dwFileVersionMS >> 0) & 0xffff,
+                                   (pFileInfo->dwFileVersionLS >> 16) & 0xffff,
+                                   (pFileInfo->dwFileVersionLS >> 0) & 0xffff);
+                        }
+                        else
+                            printf("%ls - invalid signature\n", pwszDrv);
+                    }
+                    else
+                        printf("%ls - version info size is 0\n", pwszDrv);
+                }
+                else
+                    printf("%ls - failed to query version info size\n", pwszDrv);
+            }
+            else
+                printf("%ls - failed to get version info with 0x%x\n", pwszDrv, GetLastError());
+        }
+        else
+            printf("%ls - GetDeviceDriverFileName failed with 0x%x\n", wszDriver, GetLastError());
+    }
+}
+
+
 
 void createBugReportOsSpecific(BugReport* report, const char *pszHome)
 {
@@ -586,4 +719,5 @@ void createBugReportOsSpecific(BugReport* report, const char *pszHome)
     report->addItem(new BugReportCommand("DriverServices", PathJoin(WinSysDir.c_str(), "sc.exe"),
                                          "query", "type=", "driver", "state=", "all", NULL));
     report->addItem(new BugReportUsbTreeWin);
+    report->addItem(new BugReportDriversWin);
 }
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
index 95d3d63..de60b70 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
@@ -10717,6 +10717,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Неуспешно създаване на VirtualBoxClient COM обект.</p><p>Програмата ще бъде изключена.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Изтриване</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
index ddee597..e952326 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
@@ -5941,6 +5941,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Elimina</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
index 07639f0..2bfa1b7 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
@@ -10902,6 +10902,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
index 5c7bf0e..d7227f6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
@@ -10855,6 +10855,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Smazat</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
index 37b4569..a65084c 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
@@ -10296,6 +10296,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
index 15f0914..924dfad 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
@@ -5917,6 +5917,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Das COM-Objekt für VirtualBox konnte nicht erzeugt werden.</p><p>Die Anwendung wird nun beendet.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation>Löschen</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation>Möchten Sie die heruntergeladene Datei <nobr><b>%1</b></nobr> löschen?</translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation>Möchten Sie die Dateien <nobr><b>%1</b></nobr> löschen?</translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_el.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_el.ts
index 356eabe..f8045cd 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_el.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_el.ts
@@ -5947,6 +5947,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Αποτυχία δημιουργίας του αντικειμένου COM του VirtualBoxClient.</p><p>Η εφαρμογή θα τερματιστεί τώρα.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Διαγραφή</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
index dc2f40e..4aa15cf 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
@@ -11070,6 +11070,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Fallo al adquirir el objeto VirtualBox COM.</p><p>La aplicación terminará ahora.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
index 9a82646..c916afe 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
@@ -4,7 +4,7 @@
 <context>
     <name>@@@</name>
     <message>
-        <location filename="../src/globals/VBoxGlobal.cpp" line="+2131"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+2064"/>
         <source>English</source>
         <comment>Native language name</comment>
         <translation>Euskara</translation>
@@ -37,7 +37,7 @@
 <context>
     <name>QApplication</name>
     <message>
-        <location filename="../src/main.cpp" line="+503"/>
+        <location filename="../src/main.cpp" line="+508"/>
         <source>Executable <b>%1</b> requires Qt %2.x, found Qt %3.</source>
         <translation>Exekutagarria <b>%1</b> behar du Qt %2.x, aurkituta Qt %3.</translation>
     </message>
@@ -47,17 +47,17 @@
         <translation>Bateraezintasun Qt Liburutegi Akatsa</translation>
     </message>
     <message>
-        <location line="+272"/>
+        <location line="+269"/>
         <source>VirtualBox - Error In %1</source>
         <translation>VirtualBox - Akatsa Hemen %1</translation>
     </message>
     <message>
-        <location line="-54"/>
+        <location line="-51"/>
         <source><html><b>%1 (rc=%2)</b><br/><br/></source>
         <translation><html><b>%1 (rc=%2)</b><br/><br/></translation>
     </message>
     <message>
-        <location line="-593"/>
+        <location line="-598"/>
         <source>Please try reinstalling VirtualBox.</source>
         <translation>Mesedez ezarri berriro VirtualBox.</translation>
     </message>
@@ -77,7 +77,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+498"/>
+        <location line="+503"/>
         <source>VirtualBox - Runtime Error</source>
         <translation>VirtualBox - Jarduera Akatsa</translation>
     </message>
@@ -97,7 +97,7 @@
         <translation>Kernel gidagailua ez dago eskuragarri</translation>
     </message>
     <message>
-        <location line="-524"/>
+        <location line="-529"/>
         <source>The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Please try completely uninstalling and reinstalling VirtualBox.</source>
         <translation>VirtualBox kernel moduloak ez datoz bat VirtualBox-en bertsio honekin. VirtualBox-en ezarpenak dirudienez ez da ongi egin. Mesedez saiatu osorik kentzen eta VirtualBox berriro ezartzen.</translation>
     </message>
@@ -152,7 +152,7 @@
 <context>
     <name>QIFileDialog</name>
     <message>
-        <location filename="../src/extensions/QIFileDialog.cpp" line="+270"/>
+        <location filename="../src/extensions/QIFileDialog.cpp" line="+271"/>
         <source>Select a directory</source>
         <translation>Hautatu zuzenbidea</translation>
     </message>
@@ -1522,7 +1522,7 @@
         <translation>Oharleiho Menua</translation>
     </message>
     <message>
-        <location filename="../src/runtime/UIMachineLogic.cpp" line="+901"/>
+        <location filename="../src/runtime/UIMachineLogic.cpp" line="+903"/>
         <source>Preview Monitor %1</source>
         <translation>Aurreikuspen Monitorea %1</translation>
     </message>
@@ -2169,7 +2169,7 @@
         <translation>Datuak erortzen...</translation>
     </message>
     <message>
-        <location line="+475"/>
+        <location line="+476"/>
         <source>Retrieving data ...</source>
         <translation>Datuak eskuratzen...</translation>
     </message>
@@ -4158,7 +4158,7 @@
         <translation>Eskuin </translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+232"/>
         <source>Left Shift</source>
         <translation>Ezkerreko Aldatu</translation>
     </message>
@@ -4512,7 +4512,7 @@
         <translation type="obsolete">Audioa</translation>
     </message>
     <message>
-        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+363"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+365"/>
         <source>Host Driver</source>
         <comment>details report (audio)</comment>
         <translation type="unfinished">Hostalari Gidagailua</translation>
@@ -5106,7 +5106,7 @@
 <context>
     <name>UIMachineSettingsDisplay</name>
     <message>
-        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="+341"/>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="+342"/>
         <source>The virtual machine is set up to use hardware graphics acceleration. However the host system does not currently provide this, so you will not be able to start the machine.</source>
         <translation>Makina birtual hau hardware bizkorpena erabiltzeko ezarrita dago Horrela ere hostalari sistemak ezin du oraingoz hau hornitu, hortaz ez zara makina abiarazeko gai izango.</translation>
     </message>
@@ -6961,7 +6961,7 @@
         <translation>Biltegi Zuhaitzean hautatutako SATA biltegiratze kontrolatzailearen ataka kopurua hautatzen du. Hau gutxienez izan behar da erabiltzea behar duzun ataka zenbateko gehiena baino bat gehiago.</translation>
     </message>
     <message>
-        <location filename="../src/UIVMInfoDialog.cpp" line="+756"/>
+        <location filename="../src/UIVMInfoDialog.cpp" line="+754"/>
         <location filename="../src/globals/VBoxGlobal.cpp" line="-704"/>
         <location filename="../src/selector/graphics/details/UIGDetailsElements.cpp" line="-343"/>
         <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-1730"/>
@@ -7695,7 +7695,7 @@
         <translation>Medioak kentzen...</translation>
     </message>
     <message>
-        <location line="+1406"/>
+        <location line="+1408"/>
         <source>&Hard disks</source>
         <translation>Diska &gogorrak</translation>
     </message>
@@ -7798,41 +7798,41 @@
     <name>UIMessageCenter</name>
     <message>
         <location filename="../src/globals/UIMessageCenter.cpp" line="-1517"/>
-        <location line="+2624"/>
+        <location line="+2642"/>
         <source>VirtualBox - Information</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - Argibideak</translation>
     </message>
     <message>
-        <location line="-2620"/>
-        <location line="+2624"/>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Question</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - Galdera</translation>
     </message>
     <message>
-        <location line="-2620"/>
-        <location line="+2624"/>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Warning</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - Ohartarazpena</translation>
     </message>
     <message>
-        <location line="-2620"/>
-        <location line="+2624"/>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Error</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - Akatsa</translation>
     </message>
     <message>
-        <location line="-2620"/>
-        <location line="+2624"/>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Critical Error</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - Akats Larria</translation>
     </message>
     <message>
-        <location line="-2483"/>
+        <location line="-2501"/>
         <source><p>Failed to create the VirtualBoxClient COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Hutsegitea VirtualBox COM objetua sortzerakoan.</p><p>Orain aplikazioak amaitu egingo du.</p></translation>
     </message>
@@ -8114,13 +8114,23 @@
         <translation><p>VirtualBox Erabiltzaile Eskuliburua ongi jeitsi da hemendik, <nobr><a href="%1">%1</a></nobr> eta tokian bertan gorde da honela <nobr><b>%2</b>.</nobr></p></translation>
     </message>
     <message>
-        <location line="+734"/>
+        <location line="+51"/>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+692"/>
         <source>Do not show this message again</source>
         <comment>msg box flag</comment>
         <translation>Ez erakutsi mezu hau berriro</translation>
     </message>
     <message>
-        <location line="-2401"/>
+        <location line="-2419"/>
         <source>Failed to open <tt>%1</tt>. Make sure your desktop environment can properly handle URLs of this type.</source>
         <translation>Hutsegitea <tt>%1</tt> irekitzerakoan. Zihurtatu zure mahaigin inguruak mota honetako URL-ak egoki kudeatu ditzakeela.</translation>
     </message>
@@ -8421,7 +8431,14 @@
         <translation><p><b>VirtualBox Gonbidatu Gehigarriak</b> diska irudi agiria ongi jeitsi da <nobr><a href="%1">%1</a></nobr>-tik eta tokian bertan gorde da <nobr><b>%2</b> bezala.</nobr></p><p>Nahi duzu diska irudi agiria erregistratzea eta gidagailu optiko birtualean txertatzea?</p></translation>
     </message>
     <message>
-        <location line="+244"/>
+        <location line="+104"/>
+        <location line="+9"/>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Ezabatu</translation>
+    </message>
+    <message>
+        <location line="+149"/>
         <location line="+7"/>
         <source>Drag and drop operation from host to guest failed.</source>
         <translation>Hutsegitea hostalaritik gonbidaturako arrastatu eta askatu eragiketan.</translation>
@@ -8477,7 +8494,7 @@
         <translation type="obsolete"><p>Ezin da <b><nobr>%1</nobr></b> hizkuntza agiria gertatu. <p>Hizkuntza aldibaterako Ingeleran (barne-eraikita) berrezarriko da. Mesedez joan <b>Hobespenak</b> elkarrizketara VirtualBox leihoko <b>Agiria</b> menutik ireki dezakezuna, eta hautatu <b>Hizkuntza</b> orrialdean dauden hizkuntzetako bat.</p></translation>
     </message>
     <message>
-        <location line="-1609"/>
+        <location line="-1627"/>
         <location line="+11"/>
         <source><p>Failed to remove the shared folder <b>%1</b> (pointing to <nobr><b>%2</b></nobr>) from the virtual machine <b>%3</b>.</p><p>Please close all programs in the guest OS that may be using this shared folder and try again.</p></source>
         <translation><p>Hutsegitea <b>%1</b> elkarbanatutako agiritegia kentzerakoan (hona zuzentzeno <nobr><b>%2</b></nobr>) <b>%3</b> makina birtutaletik.</p><p>Mesedez itxi elkarbanatutako agiritegi hau erabiltzen egon daitezkeen SE gonbidatuko programa guztiak eta saiatu berriro.</p></translation>
@@ -8491,12 +8508,12 @@
         <translation type="obsolete">Hutsegitea baimen agiriak aurkitzerakoan, <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
-        <location line="+1179"/>
+        <location line="+1197"/>
         <source>Failed to open the license file <nobr><b>%1</b></nobr>. Check file permissions.</source>
         <translation>Hutsegitea <nobr><b>%1</b></nobr> baimen agiria irekitzerakoan. Egiaztatu agiri baimenak.</translation>
     </message>
     <message>
-        <location line="-1612"/>
+        <location line="-1630"/>
         <source>Failed to send the ACPI Power Button press event to the virtual machine <b>%1</b>.</source>
         <translation>Hutsegitea ACPI Indar Botoi sakatze gertaera <b>%1</b> makina birtualera bildatzerakoan.</translation>
     </message>
@@ -8680,12 +8697,12 @@
         <translation><p>Akats larri bat gertatu da makina birtualaren jardunean eta makinaren exekuzioa gelditu egin da.</p><p>Laguntza lortzeko, mesedez ikusi Herkidegoa atala <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> edo zure sostengu itunean. Mesedez hornitu <tt>VBox.log</tt> ohar agiriaren edukiak eta <tt>VBox.png</tt> irudi agiria, hauek <nobr><b>%1</b></nobr> zuzenbidean aurkitu di [...]
     </message>
     <message>
-        <location line="+681"/>
+        <location line="+699"/>
         <source>The following files already exist:<br /><br />%1<br /><br />Are you sure you want to replace them? Replacing them will overwrite their contents.</source>
         <translation>Jadanik badaude hurrengo agiriak:<br /><br />%1<br /><br />Zihur zaude ordeztea nahi dituzula? Hauek ordezteak beren edukiak gainidaztea eragingo du.</translation>
     </message>
     <message>
-        <location line="-2056"/>
+        <location line="-2074"/>
         <source>You are running a prerelease version of VirtualBox. This version is not suitable for production use.</source>
         <translation>VirtualBox aurreargitalpen bertsio bat ari zara erabiltzen. Bertsio hau ez da ekoizpen erabilpenerako.</translation>
     </message>
@@ -8767,12 +8784,12 @@
         <translation><p>Hostalaria-bakarrik sare hau ezabatzeak sare honek ohinarri duen hostalaria-bakarrik interfazea kenduko du. <nobr><b>%1</b> (hostalaria-bakarrik sarea) interfazea kentzea nahi duzu?</nobr></p><p><b>Oharra:</b> egokitzaile birtual bat baino gehiago egon daiteke interfaze hau erabiltzen zure MB-etan. Kendu ondoren, egokitzaile hauek ezingo dira gehiago erabili beren ezarpenak zuzentzen dituzun arte beste interfaz [...]
     </message>
     <message>
-        <location line="+1466"/>
+        <location line="+1484"/>
         <source>A file named <b>%1</b> already exists. Are you sure you want to replace it?<br /><br />Replacing it will overwrite its contents.</source>
         <translation>Jadanik badago <b>%1</b> izeneko agiri bat. Zihur zaude ordeztea nahi duzula? Ordezteak bere edukiak gainidaztea eragingo du.</translation>
     </message>
     <message>
-        <location line="-600"/>
+        <location line="-618"/>
         <source><p>VT-x/AMD-V hardware acceleration has been enabled, but is not operational. Certain guests (e.g. OS/2 and QNX) require this feature.</p><p>Please ensure that you have enabled VT-x/AMD-V properly in the BIOS of your host computer.</p></source>
         <translation><p>VT-x/AMD-V hardware bizkorpena gaitu egin da, baina ez dago eraginkor. Zenbait gonbidatuk (adib. OS/2 eta QNX) ezaugarri hau behar dute.</p><p>Mesedez zihurtatu VT-x/AMD-V egoki gaituta duzula zure hostalari ordenagailuaren BIOS-ean.</p></translation>
     </message>
@@ -9010,7 +9027,7 @@
         <translation>Hutsegitea (<nobr><b>%1</b></nobr>) diska gogorra <b>%3</b> makinaren <i>%2</i> eslotetik deseranstearakoan.</translation>
     </message>
     <message>
-        <location line="+963"/>
+        <location line="+981"/>
         <location line="+8"/>
         <source>Failed to install the Extension Pack <b>%1</b>.</source>
         <translation>Hutsegitea <b>%1</b> Hedapen Paketea ezartzerakoan.</translation>
@@ -9027,7 +9044,7 @@
         <translation>&Kendu</translation>
     </message>
     <message>
-        <location line="-1161"/>
+        <location line="-1179"/>
         <source>The current port forwarding rules are not valid. None of the host or guest port values may be set to zero.</source>
         <translation>Oraingo berbidalketa ataka arauak ez dira baliozkoak. Hostalari edo gonbidatu ataka balioetako bat ere ezin daiteke hutsean ezarri.</translation>
     </message>
@@ -9058,7 +9075,7 @@
         <translation type="obsolete">Aldatu</translation>
     </message>
     <message>
-        <location line="+422"/>
+        <location line="+440"/>
         <location line="+7"/>
         <source>Failed to open the Extension Pack <b>%1</b>.</source>
         <translation><b>%1</b> Hedapen Paketea irekitzerakoan.</translation>
@@ -9118,7 +9135,7 @@
         <translation><br><nobr><b>%1</b><nobr><br> hedapen paketea ongi ezarri da.</translation>
     </message>
     <message>
-        <location line="-806"/>
+        <location line="-824"/>
         <source><p>Cannot create the machine folder <b>%1</b> in the parent folder <nobr><b>%2</b>.</nobr></p><p>Please check that the parent really exists and that you have permissions to create the machine folder.</p></source>
         <translation><p>Ezin da makinaren <b>%1</b> agiritegia sortu gaineko <nobr><b>%2</b> agiritegian.</nobr></p><p>Mesedez egiaztatu gainekoa egitan dagoela eta makina agiritegia sortzeko baimena duzula.</p></translation>
     </message>
@@ -9163,7 +9180,7 @@
         <translation type="obsolete">Barkatu, zenbati akats generiko gertatu dira.</translation>
     </message>
     <message>
-        <location line="+1919"/>
+        <location line="+1937"/>
         <source>Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might not be installed on the host computer</source>
         <translation>Ezin da Hostalari USB Proxy Zerbitzua gertatu (VERR_FILE_NOT_FOUND). Badaiteke zerbitzua hostalari ordenagailuan ezarrita ez egotea</translation>
     </message>
@@ -9188,7 +9205,7 @@
         <translation>Ezin da Hostalari USB Proxy zerbitzua gertatu</translation>
     </message>
     <message>
-        <location line="-1105"/>
+        <location line="-1123"/>
         <source>Can't find snapshot named <b>%1</b>.</source>
         <translation>Ezin da<b>%1</b> izeneko berehalakoa aurkitu.</translation>
     </message>
@@ -9218,13 +9235,13 @@
     </message>
     <message>
         <location line="+6"/>
-        <location line="+19"/>
+        <location line="+37"/>
         <source>Install</source>
         <comment>extension pack</comment>
         <translation>Ezarri</translation>
     </message>
     <message>
-        <location line="-35"/>
+        <location line="-53"/>
         <source><p>The <b><nobr>%1</nobr></b> has been successfully downloaded from <nobr><a href="%2">%2</a></nobr> but can't be saved locally as <nobr><b>%3</b>.</nobr></p><p>Please choose another location for that file.</p></source>
         <translation><p><b><nobr>%1</nobr></b> ongi jeitsi da <nobr><a href="%2">%2</a></nobr>-tik baina ezin da tokian gorde <nobr><b>%3</b> bezala.</nobr></p><p>Mesedez hautatu beste kokaleku bat agiriarentzat.</p></translation>
     </message>
@@ -9675,7 +9692,7 @@
         <translation>Gonbidatu Ataka</translation>
     </message>
     <message>
-        <location line="+396"/>
+        <location line="+395"/>
         <source>Contains a list of port forwarding rules.</source>
         <translation>Berbidalketa ataka arauen zerrenda bat du.</translation>
     </message>
@@ -9748,7 +9765,7 @@
 <context>
     <name>UISelectorWindow</name>
     <message>
-        <location filename="../src/selector/UISelectorWindow.cpp" line="+141"/>
+        <location filename="../src/selector/UISelectorWindow.cpp" line="+160"/>
         <source>Show Toolbar</source>
         <translation>Erakutsi Tresnabarra</translation>
     </message>
@@ -9782,7 +9799,7 @@
 <context>
     <name>UISession</name>
     <message>
-        <location filename="../src/runtime/UISession.cpp" line="+546"/>
+        <location filename="../src/runtime/UISession.cpp" line="+548"/>
         <source>Updating Guest Additions</source>
         <translation>Gonbidatu Gehigarriak Eguneratzen</translation>
     </message>
@@ -10161,7 +10178,7 @@
 <context>
     <name>UIVMInfoDialog</name>
     <message>
-        <location filename="../src/UIVMInfoDialog.cpp" line="-641"/>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-634"/>
         <source>%1 - Session Information</source>
         <translation>%1 - Saio Argibideak</translation>
     </message>
@@ -10215,7 +10232,7 @@
         <translation>Datu Jasota</translation>
     </message>
     <message>
-        <location line="+374"/>
+        <location line="+367"/>
         <source>Not Detected</source>
         <comment>guest additions</comment>
         <translation>Ez da Atzeman</translation>
@@ -10291,7 +10308,7 @@
 <context>
     <name>UIVMInformationDialog</name>
     <message>
-        <location filename="../src/runtime/information/UIVMInformationDialog.cpp" line="+112"/>
+        <location filename="../src/runtime/information/UIVMInformationDialog.cpp" line="+117"/>
         <source>%1 - Session Information</source>
         <translation type="unfinished">%1 - Saio Argibideak</translation>
     </message>
@@ -10331,19 +10348,19 @@
 <context>
     <name>UIVMLogViewer</name>
     <message>
-        <location filename="../src/UIVMLogViewer.cpp" line="+273"/>
+        <location filename="../src/UIVMLogViewer.cpp" line="+274"/>
         <location line="+393"/>
         <source>Close the search panel</source>
         <translation>Itxi bilaketa panela</translation>
     </message>
     <message>
         <location line="-391"/>
-        <location line="+810"/>
+        <location line="+808"/>
         <source>&Find</source>
         <translation>&Bilatu</translation>
     </message>
     <message>
-        <location line="-809"/>
+        <location line="-807"/>
         <source>Enter a search string here</source>
         <translation>Sartu bilaketa kate bat hemen</translation>
     </message>
@@ -10393,7 +10410,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+185"/>
+        <location line="+190"/>
         <source><p>No log files found. Press the <b>Refresh</b> button to rescan the log folder <nobr><b>%1</b></nobr>.</p></source>
         <translation><p>Ez da ohar agiririk aurkitu. Sakatu <b>Berritu</b> botoia <nobr><b>%1</b></nobr> ohar agiritegia berriro mihatzeko.</p></translation>
     </message>
@@ -10403,7 +10420,7 @@
         <translation>Gorde VirtualBox Oharra Honela</translation>
     </message>
     <message>
-        <location line="+180"/>
+        <location line="+173"/>
         <source>%1 - VirtualBox Log Viewer</source>
         <translation>%1 - VirtualBox Ohar Ikusgailua</translation>
     </message>
@@ -10760,7 +10777,7 @@
         <translation>&Loturiko Klona</translation>
     </message>
     <message>
-        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic3.cpp" line="+95"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic3.cpp" line="+96"/>
         <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+3"/>
         <source>Snapshots</source>
         <translation>Berehalakoak</translation>
@@ -11941,7 +11958,7 @@
         <translation>Sarea</translation>
     </message>
     <message>
-        <location line="+214"/>
+        <location line="+221"/>
         <location line="+165"/>
         <source>Null Audio Driver</source>
         <comment>AudioDriverType</comment>
@@ -12042,7 +12059,7 @@
         <translation>Hartuta</translation>
     </message>
     <message>
-        <location line="-178"/>
+        <location line="-185"/>
         <source>Disabled</source>
         <comment>ClipboardType</comment>
         <translation>Ezgaituta</translation>
@@ -12108,7 +12125,7 @@
         <translation>Elkarbanatutako Agiritegiak</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+142"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+149"/>
         <location line="+192"/>
         <source>Disconnected</source>
         <comment>PortMode</comment>
@@ -12236,7 +12253,7 @@
         <translation>Ataka Kidetuak</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-351"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-358"/>
         <source>USB</source>
         <comment>DeviceType</comment>
         <translation>USB</translation>
@@ -12248,7 +12265,7 @@
         <translation>Elkarbanatutako Agiritegiak</translation>
     </message>
     <message>
-        <location line="+257"/>
+        <location line="+264"/>
         <source>IDE</source>
         <comment>StorageBus</comment>
         <translation>IDE</translation>
@@ -12394,7 +12411,7 @@
         <translation>Ezgaituta</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-175"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-182"/>
         <source>Setting Up</source>
         <comment>MachineState</comment>
         <translation>Ezarrita</translation>
@@ -12431,7 +12448,7 @@
         <translation>Barneko Sarea, '%1'</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+310"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+317"/>
         <source>SCSI</source>
         <comment>StorageBus</comment>
         <translation>SCSI</translation>
@@ -12579,7 +12596,7 @@
         <translation>Biltegia</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-421"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-428"/>
         <source>Teleported</source>
         <comment>MachineState</comment>
         <translation>Teleramana</translation>
@@ -12624,7 +12641,7 @@
         <translation>Berehalakoa Ezabatzen</translation>
     </message>
     <message>
-        <location line="+312"/>
+        <location line="+319"/>
         <source>Floppy</source>
         <comment>StorageBus</comment>
         <translation>Disketea</translation>
@@ -12751,7 +12768,7 @@
         <translation>Ohinarriko diska gogor hau zeharka erantsita dago hurrengo ezberdinketa diska gogorra erabiliz:</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/globals/VBoxGlobal.h" line="+268"/>
+        <location filename="../src/globals/VBoxGlobal.h" line="+237"/>
         <source>%n year(s)</source>
         <translation>
             <numerusform>%n urte</numerusform>
@@ -12945,7 +12962,7 @@
         <translation>Agiri guztiak (*)</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-488"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-495"/>
         <source>Fault Tolerant Syncing</source>
         <comment>MachineState</comment>
         <translation>Jasangarritasun Aldiberetze Hutsegitea</translation>
@@ -12975,7 +12992,7 @@
         <translation>Optikoa</translation>
     </message>
     <message>
-        <location line="+248"/>
+        <location line="+255"/>
         <location line="+167"/>
         <source>Null</source>
         <comment>AuthType</comment>
@@ -13045,7 +13062,7 @@
         <translation>Egokitzailea %1</translation>
     </message>
     <message>
-        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-84"/>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-91"/>
         <source>Disabled</source>
         <comment>DragAndDropType</comment>
         <translation>Ezgaituta</translation>
@@ -13135,7 +13152,7 @@
         <translation>Eranskin-anitz</translation>
     </message>
     <message>
-        <location line="+13"/>
+        <location line="+17"/>
         <source>Dynamically allocated storage</source>
         <comment>MediumVariant</comment>
         <translation>Esleitu biltegia dinamikoki</translation>
@@ -13201,7 +13218,7 @@
         <translation>Biltegiratze neurri zuzendua raw diskan</translation>
     </message>
     <message>
-        <location line="+18"/>
+        <location line="+21"/>
         <source>NAT Network</source>
         <comment>NetworkAttachmentType</comment>
         <translation>NAT Sarea</translation>
@@ -13724,13 +13741,13 @@
         <translation><i>Ez&nbsp;Erantsita</i></translation>
     </message>
     <message>
-        <location line="+646"/>
+        <location line="+648"/>
         <source>--</source>
         <comment>no info</comment>
         <translation>--</translation>
     </message>
     <message>
-        <location line="-607"/>
+        <location line="-609"/>
         <source>Virtual Media Manager</source>
         <translation>Multimedia Birtual Kudeatzailea</translation>
     </message>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
index f4453e3..4b297ab 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
@@ -8132,6 +8132,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">حذف</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
index 7a600a6..e82df41 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
@@ -8787,6 +8787,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Poista</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
index 5857704..83c38a8 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
@@ -9658,6 +9658,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
index 065a221..4202a0d 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
@@ -8675,6 +8675,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_he.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_he.ts
index 1cf302d..400e765 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_he.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_he.ts
@@ -6272,6 +6272,19 @@
         <source>Drag and drop operation from guest to host failed.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">מחק</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
index 2846d5b..90ed2a0 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
@@ -10701,6 +10701,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Törlés</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
index 1419b05..6b5f822 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
@@ -9903,6 +9903,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Gagal memperoleh objek COM VirtualBox.</p><p>Aplikasi sekarang akan diakhiri.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Hapus</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
index c3d29f7..ee34248 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
@@ -11596,6 +11596,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Acquisizione dell'oggetto COM di VirtualBox non riuscita.</p><p>L'applicazione sarà terminata immediatamente.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
index 614bb18..2cce1f6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
@@ -11017,6 +11017,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>VirtualBox COMオブジェクトの作成に失敗しました。</p><p>アプリケーションを終了します。</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">削除</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
index a7f93ae..ee4f53d 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
@@ -8723,6 +8723,19 @@ medium</comment>
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">លុប</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
index cb8dc62..55f231b 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
@@ -10848,6 +10848,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>VirtualBox COM 개체를 얻을 수 없습니다.</p><p>프로그램을 종료합니다.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">삭제</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
index 515bc53..481baa2 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
@@ -9583,6 +9583,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Pašalinti</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
index 5ab333f..0c3e00f 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
@@ -9377,6 +9377,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Verwijderen</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetUserManual</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
index 1a9e977..deb0716 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
@@ -26,7 +26,7 @@
     <message>
         <source>Oracle Corporation</source>
         <comment>Comma-separated list of translators</comment>
-        <translation>Dawid Wrobel, Adrian Lubik, Wiktor Wandachowicz, hawkeye116477</translation>
+        <translation>Dawid Wrobel, Adrian Lubik, Wiktor Wandachowicz, Bartosz</translation>
     </message>
 </context>
 <context>
@@ -463,7 +463,7 @@
     </message>
     <message>
         <source>&Shared Folders...</source>
-        <translation type="obsolete">W&spółdzielone folderi...</translation>
+        <translation type="obsolete">W&spółdzielone foldery...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
@@ -592,7 +592,7 @@
     </message>
     <message>
         <source>Session I&nformation...</source>
-        <translation>I&nformacje o sesji</translation>
+        <translation>I&nformacje o sesji...</translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
@@ -772,7 +772,7 @@
     <message>
         <source>&Add Machine...</source>
         <translatorcomment>&Dodaj maszynę...</translatorcomment>
-        <translation>Dodaj maszynę...</translation>
+        <translation>&Dodaj maszynę...</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -935,7 +935,7 @@
     </message>
     <message>
         <source>Show Menu &Bar</source>
-        <translation>Wyświetl pasek menu</translation>
+        <translation>Wyświetl &pasek menu</translation>
     </message>
     <message>
         <source>Enable menu-bar</source>
@@ -955,7 +955,7 @@
     </message>
     <message>
         <source>Show Status &Bar</source>
-        <translation>Wyświetl pasek stanu</translation>
+        <translation>Wyświetl &pasek stanu</translation>
     </message>
     <message>
         <source>Enable status-bar</source>
@@ -1008,7 +1008,7 @@
     </message>
     <message>
         <source>&Hard Disk Settings...</source>
-        <translation>&ustawienia dysków twardych...</translation>
+        <translation>&Ustawienia dysków twardych...</translation>
     </message>
     <message>
         <source>Display virtual machine settings window to configure hard disks</source>
@@ -1324,8 +1324,8 @@
         <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
         <translation>
-            <numerusform><nobr>Używany przez następujący %n twardy dysk:</nobr><br>%1</numerusform>
-            <numerusform><nobr>Używany przez następujące %n twarde dyski:</nobr><br>%1</numerusform>
+            <numerusform><nobr>Używany przez następujący twardy dysk:</nobr><br>%1</numerusform>
+            <numerusform><nobr>Używany przez następujące twarde dyski:</nobr><br>%1</numerusform>
             <numerusform></numerusform>
         </translation>
     </message>
@@ -1465,7 +1465,7 @@
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
-        <translation>Po zaznaczeniu tej opcji, zostanie przydzielony nowy unikalny adres MAC do skonfigurowanych kart sieciowych</translation>
+        <translation>Po zaznaczeniu tej opcji, zostanie przydzielony nowy unikalny adres MAC do skonfigurowanych kart sieciowych.</translation>
     </message>
     <message>
         <source>&Reinitialize the MAC address of all network cards</source>
@@ -1761,7 +1761,7 @@
     <message>
         <source>Shared Folders</source>
         <comment>details report (shared folders)</comment>
-        <translation type="obsolete">Współdzielone folderi</translation>
+        <translation type="obsolete">Współdzielone foldery</translation>
     </message>
     <message>
         <source>None</source>
@@ -1913,7 +1913,7 @@
     <message>
         <source>Shared Folders</source>
         <comment>details report (shared folders)</comment>
-        <translation type="obsolete">Współdzielone folderi</translation>
+        <translation type="obsolete">Współdzielone foldery</translation>
     </message>
     <message>
         <source>None</source>
@@ -1977,7 +1977,7 @@
     <message>
         <source>Shared Folders</source>
         <comment>details report</comment>
-        <translation type="obsolete">Współdzielone folderi</translation>
+        <translation type="obsolete">Współdzielone foldery</translation>
     </message>
     <message>
         <source>Description</source>
@@ -2454,7 +2454,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Displays a window to select a different file.</source>
-        <translation>Wyświetla okno, by wybrać inny plik</translation>
+        <translation>Wyświetla okno, by wybrać inny plik.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -2478,11 +2478,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the folder path.</source>
-        <translation>Przechowuje ścieżkę do folderu</translation>
+        <translation>Przechowuje ścieżkę do folderu.</translation>
     </message>
     <message>
         <source>Holds the file path.</source>
-        <translation>Przechowuje ścieżkę do pliku</translation>
+        <translation>Przechowuje ścieżkę do pliku.</translation>
     </message>
 </context>
 <context>
@@ -2994,17 +2994,17 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Bridged Adapter, %1</source>
         <comment>details (network)</comment>
-        <translation>Mostkowana karta sieciowa</translation>
+        <translation>Mostkowana karta sieciowa, %1</translation>
     </message>
     <message>
         <source>Internal Network, '%1'</source>
         <comment>details (network)</comment>
-        <translation>Sieć wewnętrzna</translation>
+        <translation>Sieć wewnętrzna, '%1'</translation>
     </message>
     <message>
         <source>Host-only Adapter, '%1'</source>
         <comment>details (network)</comment>
-        <translation>Karta sieci izolowanej</translation>
+        <translation>Karta sieci izolowanej, '%1'</translation>
     </message>
     <message>
         <source>Generic Driver, '%1'</source>
@@ -3355,7 +3355,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Do not attempt to limit the size of the guest screen.</source>
-        <translation>Nie próbuje ograniczać wymiarów ekranu gościa</translation>
+        <translation>Nie próbuje ograniczać wymiarów ekranu gościa.</translation>
     </message>
     <message>
         <source>Hint</source>
@@ -3431,11 +3431,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds new package.</source>
-        <translation>Dodaje nową paczkę</translation>
+        <translation>Dodaje nową paczkę.</translation>
     </message>
     <message>
         <source>Removes selected package.</source>
-        <translation>Usuwa wybraną paczkę</translation>
+        <translation>Usuwa wybraną paczkę.</translation>
     </message>
 </context>
 <context>
@@ -3541,11 +3541,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all available shortcuts which can be configured.</source>
-        <translation>Wyświetla wszystkie dostępne konfigurowalne skróty</translation>
+        <translation>Wyświetla wszystkie dostępne konfigurowalne skróty.</translation>
     </message>
     <message>
         <source>Holds a sequence to filter the shortcut list.</source>
-        <translation>Utrzymuje sekwencję do filtrowania listy skrótów</translation>
+        <translation>Przechowuje sekwencję do filtrowania listy skrótów.</translation>
     </message>
 </context>
 <context>
@@ -3761,7 +3761,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all available NAT networks.</source>
-        <translation>Wyświetla wszystkie dostępne sieci NAT</translation>
+        <translation>Wyświetla wszystkie dostępne sieci NAT.</translation>
     </message>
     <message>
         <source>&Host-only Networks</source>
@@ -3769,7 +3769,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No new name specified for the NAT network previously called <b>%1</b>.</source>
-        <translation>Brak określonej nowej nazwy dla wcześniej przywołanej sieci NAT</translation>
+        <translation>Brak określonej nowej nazwy dla wcześniej przywołanej sieci NAT<b>%1</b>.</translation>
     </message>
     <message>
         <source>No CIDR specified for the NAT network <b>%1</b>.</source>
@@ -3894,7 +3894,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add Host-only Network</source>
-        <translation>Dodaj sieć izolowaną.</translation>
+        <translation>Dodaj sieć izolowaną</translation>
     </message>
     <message>
         <source>Remove Host-only Network</source>
@@ -4135,7 +4135,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the name for this network.</source>
-        <translation>Przechowuje nazwę dla tej sieci</translation>
+        <translation>Przechowuje nazwę dla tej sieci.</translation>
     </message>
     <message>
         <source>Network &CIDR:</source>
@@ -4735,7 +4735,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Wskaźnik aktywności interfejsów sieciowych:</nobr>%1</p></translation>
+        <translation><p style='white-space:pre'><nobr>Wskazuje aktywność interfejsów sieciowych:</nobr>%1</p></translation>
     </message>
     <message>
         <source><br><nobr><b>Adapter %1 (%2)</b>: %3 cable %4</nobr></source>
@@ -4760,7 +4760,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the attached USB devices:</nobr>%1</p></source>
         <comment>USB device tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Wskaźnik aktywności podłączonych urządzeń USB:</nobr>%1</p></translation>
+        <translation><p style='white-space:pre'><nobr>Wskazuje aktywność podłączonych urządzeń USB:</nobr>%1</p></translation>
     </message>
     <message>
         <source><br><nobr><b>No USB devices attached</b></nobr></source>
@@ -4775,7 +4775,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the machine's shared folders:</nobr>%1</p></source>
         <comment>Shared folders tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Wskaźnik aktywności udostępnianych folderów maszyny:</nobr>%1</p></translation>
+        <translation><p style='white-space:pre'><nobr>Wskazuje aktywność udostępnianych folderów maszyny:</nobr>%1</p></translation>
     </message>
     <message>
         <source><br><nobr><b>No shared folders</b></nobr></source>
@@ -4802,7 +4802,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the host mouse pointer is captured by the guest OS:<br><nobr><img src=:/mouse_disabled_16px.png/>&nbsp;&nbsp;pointer is not captured</nobr><br><nobr><img src=:/mouse_16px.png/>&nbsp;&nbsp;pointer is captured</nobr><br><nobr><img src=:/mouse_seamless_16px.png/>&nbsp;&nbsp;mouse integration (MI) is On</nobr><br><nobr><img src=:/mouse_can_seamless_ [...]
-        <translation>Wskazuje, czy kursor myszy gospodarza jest przechwycony przez goszczony system operacyjny:<br><nobr><img src=:/mouse_disabled_16px.png/>&nbsp;&nbsp;kursor nie jest przechwycony</nobr><br><nobr><img src=:/mouse_16px.png/>&nbsp;&nbsp;kursor jest przechwycony</nobr><br><nobr><img src=:/mouse_seamless_16px.png/>&nbsp;&nbsp;integracja myszy (IM) jest włączona</nobr><br>&l [...]
+        <translation>Wskazuje, czy kursor myszy gospodarza jest przechwytywany przez goszczony system operacyjny:<br><nobr><img src=:/mouse_disabled_16px.png/>&nbsp;&nbsp;kursor nie jest przechwytywany</nobr><br><nobr><img src=:/mouse_16px.png/>&nbsp;&nbsp;kursor jest przechwytywany</nobr><br><nobr><img src=:/mouse_seamless_16px.png/>&nbsp;&nbsp;integracja myszy (IM) jest włączona</nobr><br [...]
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
@@ -5511,7 +5511,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Frame Rate:</source>
-        <translation>&Częstotliwość wyświetlania klatek</translation>
+        <translation>&Częstotliwość wyświetlania klatek:</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5586,7 +5586,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the guest screen scale factor.</source>
-        <translation>Kontroluje współczynnik skali ekranu gościa</translation>
+        <translation>Kontroluje współczynnik skali ekranu gościa.</translation>
     </message>
     <message>
         <source>%</source>
@@ -5937,7 +5937,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>D&rag'n'Drop:</source>
-        <translation>Przeciąganie i upuszczanie</translation>
+        <translation>P&rzeciąganie i upuszczanie:</translation>
     </message>
     <message>
         <source>D&escription</source>
@@ -6013,7 +6013,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Mini ToolBar:</source>
-        <translation>Mini pasek narzędziowy</translation>
+        <translation>Mini pasek narzędziowy:</translation>
     </message>
     <message>
         <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
@@ -6021,7 +6021,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show in &Full-screen/Seamless</source>
-        <translation>Wyświetl w trybie pełnego ekranu/Seamless</translation>
+        <translation>Wyświetl w &trybie pełnego ekranu/Seamless</translation>
     </message>
     <message>
         <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
@@ -6029,7 +6029,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show at &Top of Screen</source>
-        <translation>Pokaż u &góry ekranu</translation>
+        <translation>Wyświetl u &góry ekranu</translation>
     </message>
     <message>
         <source>Allows to modify VM status-bar contents.</source>
@@ -6519,7 +6519,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source> Transient Folders</source>
-        <translation> folderi tymczasowe</translation>
+        <translation>Foldery tymczasowe</translation>
     </message>
     <message>
         <source>Full</source>
@@ -6547,7 +6547,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source> Global Folders</source>
-        <translation type="obsolete">folderi globalne</translation>
+        <translation type="obsolete">foldery globalne</translation>
     </message>
     <message>
         <source>&Add Shared Folder</source>
@@ -7264,7 +7264,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose Virtual Floppy Disk File...</source>
-        <translation>Wybierz plik wirtualnej dyskietki</translation>
+        <translation>Wybierz plik wirtualnej dyskietki...</translation>
     </message>
     <message>
         <source>Add NVMe Controller</source>
@@ -7312,7 +7312,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Base &Memory:</source>
-        <translation>Pamięć p&odstawowa:</translation>
+        <translation>R&AM:</translation>
     </message>
     <message>
         <source>Controls the amount of memory provided to the virtual machine. If you assign too much, the machine might not start.</source>
@@ -7477,11 +7477,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>For performance reasons, the number of virtual CPUs attached to the virtual machine may not be more than twice the number of physical CPUs on the host (<b>%1</b>). Please reduce the number of virtual CPUs.</source>
-        <translation>Ze względu na wydajność, liczba procesorów wirtualnych podłączonych do maszyny wirtualnej nie może być większa niż dwukrotność liczby procesorów fizycznych na systemie gospodarza (<b>% 1 </ b>). Należy zmniejszyć liczbę wirtualnych procesorów.</translation>
+        <translation>Ze względu na wydajność, liczba procesorów wirtualnych podłączonych do maszyny wirtualnej nie może być większa niż dwukrotność liczby procesorów fizycznych na systemie gospodarza (<b>%1 </b>). Należy zmniejszyć liczbę wirtualnych procesorów.</translation>
     </message>
     <message>
         <source>More virtual CPUs are assigned to the virtual machine than the number of physical CPUs on the host system (<b>%1</b>). This is likely to degrade the performance of your virtual machine. Please consider reducing the number of virtual CPUs.</source>
-        <translation>Więcej wirtualnych procesorów jest przydzielonych do maszyny wirtualnej niż liczba procesorów fizycznych w systemie gospodarza (<b>% 1 </ b>). To prawdopodobnie obniży wydajność maszyny wirtualnej. Proszę rozważyć zmniejszenie liczby wirtualnych procesorów.</translation>
+        <translation>Więcej wirtualnych procesorów jest przydzielonych do maszyny wirtualnej niż liczba procesorów fizycznych w systemie gospodarza (<b>%1</b>). To prawdopodobnie obniży wydajność maszyny wirtualnej. Proszę rozważyć zmniejszenie liczby wirtualnych procesorów.</translation>
     </message>
     <message>
         <source>The processor execution cap is set to a low value. This may make the machine feel slow to respond.</source>
@@ -8057,7 +8057,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to pause the execution of the virtual machine <b>%1</b>.</source>
-        <translation>Nie udało się wsPrzechowujeć pracy maszyny wirtualnej <b>%1</b>.</translation>
+        <translation>Nie udało się wstrzymać wykonywanie maszyny wirtualnej <b>%1</b>.</translation>
     </message>
     <message>
         <source>Failed to resume the execution of the virtual machine <b>%1</b>.</source>
@@ -8209,7 +8209,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The Virtual Machine is currently in the <b>Paused</b> state and not able to see any keyboard or mouse input. If you want to continue to work inside the VM, you need to resume it by selecting the corresponding action from the menu bar.</p></source>
-        <translation><p>Maszyna Wirtualna jest aktualnie w stanie <b>WsPrzechowujenia</b> i tym samym nie obsłuży żadnych danych wejściowych pochodzących od klawiatury lub myszy. Aby kontynuować pracę w maszynie wirtualnej, należy ją najpierw wznowić poprzez wybranie odpowiedniej opcji z menu <i>Maszyna</i> w oknie maszyny.</p></translation>
+        <translation><p>Maszyna Wirtualna jest aktualnie w stanie <b>wstrzymania</b> i tym samym nie obsłuży żadnych danych wejściowych pochodzących od klawiatury lub myszy. Aby kontynuować pracę w maszynie wirtualnej, należy ją najpierw wznowić poprzez wybranie odpowiedniej opcji z menu <i>Maszyna</i> w oknie maszyny.</p></translation>
     </message>
     <message>
         <source><p>One or more of the registered virtual hard disks, CD/DVD or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>OK</b> to open the Virtual Disk Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
@@ -9100,7 +9100,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to add virtual machine <b>%1</b> located in <i>%2</i> because its already present.</source>
-        <translation>Nie udało się dodać maszyny wirtualnej zlokalizowanej w<b>%1</b>, ponieważ już istnieje.</translation>
+        <translation>Nie udało się dodać maszyny wirtualnej <b>%1</b> zlokalizowanej w<i>%2</i>, ponieważ już istnieje.</translation>
     </message>
     <message>
         <source>Delete all files</source>
@@ -9253,23 +9253,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might not be installed on the host computer</source>
-        <translation>Nie można załadować usługi Host USB Proxy (VERR_FILE_NOT_FOUND). Usługa ta być może nie została zainstalowana na komputerze gospodarza.</translation>
+        <translation>Nie można załadować usługi Host USB Proxy (VERR_FILE_NOT_FOUND). Usługa ta być może nie została zainstalowana na komputerze gospodarza</translation>
     </message>
     <message>
         <source>VirtualBox is not currently allowed to access USB devices.  You can change this by adding your user to the 'vboxusers' group.  Please see the user manual for a more detailed explanation</source>
-        <translation>VirtualBox aktualnie nie ma dostępu do urządzeń USB. Można to zmienić, dodając użytkownika do grupy vboxusers'. Proszę zapoznać się z instrukcją obsługi w celu bardziej szczegółowego wyjaśnienia.</translation>
+        <translation>VirtualBox aktualnie nie ma dostępu do urządzeń USB. Można to zmienić, dodając użytkownika do grupy vboxusers'. Proszę zapoznać się z instrukcją obsługi w celu bardziej szczegółowego wyjaśnienia</translation>
     </message>
     <message>
         <source>VirtualBox is not currently allowed to access USB devices.  You can change this by allowing your user to access the 'usbfs' folder and files.  Please see the user manual for a more detailed explanation</source>
-        <translation>VirtualBox aktualnie nie ma dostępu do urządzeń USB. Można to zmienić, zezwalając na dostęp użytkownika do folderu 'usbfs' i plików. Proszę zapoznać się z instrukcją obsługi w celu bardziej szczegółowego wyjaśnienia.</translation>
+        <translation>VirtualBox aktualnie nie ma dostępu do urządzeń USB. Można to zmienić, zezwalając na dostęp użytkownika do folderu 'usbfs' i plików. Proszę zapoznać się z instrukcją obsługi w celu bardziej szczegółowego wyjaśnienia</translation>
     </message>
     <message>
         <source>The USB Proxy Service has not yet been ported to this host</source>
-        <translation>Usługa USB Proxy nie została jeszcze przeniesiona do tego hosta.</translation>
+        <translation>Usługa USB Proxy nie została jeszcze przeniesiona do tego hosta</translation>
     </message>
     <message>
         <source>Could not load the Host USB Proxy service</source>
-        <translation>Nie można załadować usługi Host USB Proxy.</translation>
+        <translation>Nie można załadować usługi Host USB Proxy</translation>
     </message>
     <message>
         <source>Can't find snapshot named <b>%1</b>.</source>
@@ -9737,6 +9737,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Nie powiodło się otrzymanie obiektu VirtualBox COM.</p><p>Aplikacja zostanie teraz zakończona.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9841,7 +9854,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>N&ame:</source>
-        <translation>&Nazwa</translation>
+        <translation>&Nazwa:</translation>
     </message>
     <message>
         <source>Holds the location of the virtual machine.</source>
@@ -10745,11 +10758,11 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>Adds new port forwarding rule.</source>
-        <translation>Dodaje nową regułę przekierowania portu</translation>
+        <translation>Dodaje nową regułę przekierowania portu.</translation>
     </message>
     <message>
         <source>Copies selected port forwarding rule.</source>
-        <translation>Kopiuje wybraną regułę przekierowania portu</translation>
+        <translation>Kopiuje wybraną regułę przekierowania portu.</translation>
     </message>
     <message>
         <source>Removes selected port forwarding rule.</source>
@@ -10824,7 +10837,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     <name>UISettingsDialog</name>
     <message>
         <source><i>Select a settings category from the list on the left-hand side and move the mouse over a settings item to get more information.</i></source>
-        <translation><i>Proszę wybrać kategorię ustawień z listy po lewej i przesunąć kursor myszy nad wybraną pozycję, aby uzyskać więcej informacji<i>.</translation>
+        <translation><i>Proszę wybrać kategorię ustawień z listy po lewej i przesunąć kursor myszy nad wybraną pozycję, aby uzyskać więcej informacji.</i></translation>
     </message>
     <message>
         <source>On the <b>%1</b> page, %2</source>
@@ -11140,7 +11153,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>S&end the shutdown signal</source>
-        <translation>Wysłanie &sygnału wyłączenia</translation>
+        <translation>Wyślij &sygnał wyłączenia</translation>
     </message>
     <message>
         <source><p>Turns off the virtual machine.</p><p>Note that this action will stop machine execution immediately so that the guest operating system running inside it will not be able to perform a clean shutdown procedure which may result in <i>data loss</i> inside the virtual machine. Selecting this action is recommended only if the virtual machine does not respond to the <b>Send the shutdown signal</b> action.</p></source>
@@ -11148,7 +11161,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>&Power off the machine</source>
-        <translation>&Wyłączenie maszyny</translation>
+        <translation>&Wyłącz maszynę</translation>
     </message>
     <message>
         <source>Restore the machine state stored in the current snapshot</source>
@@ -11479,7 +11492,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>Choose a virtual hard disk file to copy...</source>
-        <translation>Wybierz plik dysku wirtualnego, który chcesz skopiować</translation>
+        <translation>Wybierz plik dysku wirtualnego, który chcesz skopiować...</translation>
     </message>
     <message>
         <source>Hard disk file type</source>
@@ -11511,7 +11524,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>Please choose a location for new virtual hard disk file</source>
-        <translation>Wybierz lokalizację dla pliku nowego wirtualnego dysku twardego.</translation>
+        <translation>Wybierz lokalizację dla pliku nowego wirtualnego dysku twardego</translation>
     </message>
     <message>
         <source>New hard disk to create</source>
@@ -11749,7 +11762,7 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
     <message>
         <source>Virtual &machines to export</source>
-        <translation>Wirtualne maszyny do wyeksportowania</translation>
+        <translation>Wirtualne &maszyny do wyeksportowania</translation>
     </message>
     <message>
         <source>Appliance &settings</source>
@@ -12473,7 +12486,7 @@ Wersja %1</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
-        <translation type="obsolete">W&spółdzielone folderi...</translation>
+        <translation type="obsolete">W&spółdzielone foldery...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
@@ -13630,7 +13643,7 @@ Wersja %1</translation>
     <message>
         <source>Paused</source>
         <comment>MachineState</comment>
-        <translation>WsPrzechowujena</translation>
+        <translation>Wstrzymana</translation>
     </message>
     <message>
         <source>Starting</source>
@@ -14426,7 +14439,7 @@ Wersja %1</translation>
     <message>
         <source>Teleporting</source>
         <comment>MachineState</comment>
-        <translation>Teleportacja</translation>
+        <translation>Teleportowanie</translation>
     </message>
     <message>
         <source>Taking Live Snapshot</source>
@@ -14436,7 +14449,7 @@ Wersja %1</translation>
     <message>
         <source>Teleporting Paused VM</source>
         <comment>MachineState</comment>
-        <translation>Teleportacja wsPrzechowujenej maszyny</translation>
+        <translation>Teleportowanie wstrzymanej maszyny</translation>
     </message>
     <message>
         <source>Restoring Snapshot</source>
@@ -15438,7 +15451,7 @@ Wersja %1</translation>
     </message>
     <message>
         <source>Default &Folders</source>
-        <translation type="obsolete">&folderi domyślne</translation>
+        <translation type="obsolete">&foldery domyślne</translation>
     </message>
     <message>
         <source>Machines</source>
@@ -16399,7 +16412,7 @@ języka ustawiony jako domyślny dla systemu.</qt>
     <name>VBoxSFDialog</name>
     <message>
         <source>Shared Folders</source>
-        <translation type="obsolete">Współdzielone folderi</translation>
+        <translation type="obsolete">Współdzielone foldery</translation>
     </message>
     <message>
         <source>Cancel</source>
@@ -16747,7 +16760,7 @@ języka ustawiony jako domyślny dla systemu.</qt>
     </message>
     <message>
         <source>Shared &Folders</source>
-        <translation type="obsolete">W&spółdzielone folderi</translation>
+        <translation type="obsolete">W&spółdzielone foldery</translation>
     </message>
     <message>
         <source><qt>Lists all shared folders accessible to this machine.
@@ -16799,11 +16812,11 @@ Uwaga: funkcja ta wymaga zainstalowania Dodatków gościa.</qt></translati
     </message>
     <message>
         <source> Machine Folders</source>
-        <translation type="obsolete"> folderi maszyny</translation>
+        <translation type="obsolete"> foldery maszyny</translation>
     </message>
     <message>
         <source> Transient Folders</source>
-        <translation type="obsolete"> folderi tymczasowe</translation>
+        <translation type="obsolete"> foldery tymczasowe</translation>
     </message>
     <message>
         <source><nobr>Name:&nbsp;&nbsp;%1</nobr><br><nobr>Path:&nbsp;&nbsp;%2</nobr></source>
@@ -17982,7 +17995,7 @@ Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</qt></
     </message>
     <message>
         <source> Shared Folders </source>
-        <translation type="obsolete"> Współdzielone folderi </translation>
+        <translation type="obsolete"> Współdzielone foldery </translation>
     </message>
     <message>
         <source>&Identification</source>
@@ -18836,7 +18849,7 @@ makes the guest see an audio card, however every access to it will be ignored.&l
     </message>
     <message>
         <source>Shared Folders</source>
-        <translation type="obsolete">Współdzielone folderi</translation>
+        <translation type="obsolete">Współdzielone foldery</translation>
     </message>
     <message>
         <source>Remote Display</source>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
index 5be469f..9972695 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
@@ -9198,6 +9198,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Apagar</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
index 4263e0d..9bfebed 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
@@ -11449,6 +11449,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Falha ao carregar o objeto COM do VirtualBox.</p><p>A aplicação será finalizada.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Apagar</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
index c626c48..b431f31 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
@@ -8993,6 +8993,19 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Șterge</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
index fd0c273..4d5f632 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
@@ -10744,6 +10744,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Не удалось получить COM-объект VirtualBox.</p><p>Работа приложения будет завершена.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
index ccf1a62..458bb1e 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
@@ -8959,6 +8959,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Vymazať</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sl.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sl.ts
index bdbdd1a..e7717cc 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sl.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sl.ts
@@ -4,26 +4,31 @@
 <context>
     <name>@@@</name>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+2064"/>
         <source>English</source>
         <comment>Native language name</comment>
         <translation>Slovenščina</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>--</source>
         <comment>Native language country name (empty if this language is for all countries)</comment>
         <translation></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>English</source>
         <comment>Language name, in English</comment>
         <translation>Slovenian</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>--</source>
         <comment>Language country name, in English (empty if native country name is empty)</comment>
         <translation></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Oracle Corporation</source>
         <comment>Comma-separated list of translators</comment>
         <translation>Peter Klofutar</translation>
@@ -32,54 +37,67 @@
 <context>
     <name>QApplication</name>
     <message>
+        <location filename="../src/main.cpp" line="+508"/>
         <source>Executable <b>%1</b> requires Qt %2.x, found Qt %3.</source>
         <translation>Izvedljiva datoteka <b>%1</b> zahteva Qt %2.x, najden Qt %3.</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Incompatible Qt Library Error</source>
         <translation>Napaka nezdružljive knjižnice Qt</translation>
     </message>
     <message>
+        <location line="+269"/>
         <source>VirtualBox - Error In %1</source>
         <translation>VirtualBox - napaka v %1</translation>
     </message>
     <message>
+        <location line="-51"/>
         <source><html><b>%1 (rc=%2)</b><br/><br/></source>
         <translation><html><b>%1 (rc=%2)</b><br/><br/></translation>
     </message>
     <message>
+        <location line="-598"/>
         <source>Please try reinstalling VirtualBox.</source>
         <translation>Poizkusite ponovno namestiti VirtualBox.</translation>
     </message>
     <message>
+        <location line="-5"/>
         <source>Make sure the kernel module has been loaded successfully.</source>
         <translation>Prepričajte se, da je bil modul jedra uspešno naložen.</translation>
     </message>
     <message>
+        <location line="+494"/>
         <source>VirtualBox - Runtime Error</source>
         <translation>VirtualBox - napaka izvajanja</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><b>Cannot access the kernel driver!</b><br/><br/></source>
         <translation><b>Do gonilnika jedra ni mogoče dostopati!</b><br/><br/></translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Unknown error %2 during initialization of the Runtime</source>
         <translation>Neznana napaka %2 med začenjanjem izvajanja</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>Kernel driver not accessible</source>
         <translation>Gonilnik jedra ni dostopen</translation>
     </message>
     <message>
+        <location line="-529"/>
         <source>The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Please try completely uninstalling and reinstalling VirtualBox.</source>
         <translation>Moduli jedra VirtualBox se ne ujemajo s to različico VirtualBoxa.Namestitev VirtualBoxa očitno ni bila uspešna. Poizkusite ga popolnoma odstraniti in ponovno namestiti.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing<br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/>may correct this. Make sure that you do not mix the OSE version and the PUEL version of VirtualBox.</source>
-        <translation type="unfinished">Moduli jedra VirtualBox se ne ujemajo s to različico VirtualBoxa.Namestitev VirtualBoxa očitno ni bila uspešna. Izvajanje<br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/>bo morda to popravilo. Prepričajte se, da ne mešate različic OSE in PUEL VirtualBoxa.</translation>
+        <translation>Moduli jedra VirtualBox se ne ujemajo s to različico VirtualBoxa. Namestitev VirtualBoxa očitno ni bila uspešna. Izvajanje<br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/>bo morda to popravilo. Prepričajte se, da ne mešate različic VirtualBoxa OSE in PUEL.</translation>
     </message>
     <message>
+        <location line="-20"/>
         <source>This error means that the kernel driver was either not able to allocate enough memory or that some mapping operation failed.</source>
         <translation>Ta napaka pomeni, da gonilnik jedra ni mogel dodeliti dovolj pomnilnka ali je neko opravilo preslikave spodletelo.</translation>
     </message>
@@ -88,19 +106,22 @@
         <translation type="obsolete">Gonilnik jedra Linux VirtualBox (vboxdrv) ni naložen ali obstaja težava z dovoljenji za /dev/vboxdrv. Ponovno namestite modul jedra z izvajanjem <br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/> s skrbniškimi dovoljenji. Če v vaši distribuciji ni na voljo, najprej namestite paket DKMS. Ta paket sledi spremembam jedra Linux in po potrebi ponovno kodno prevede modul jedra vboxdrv.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing<br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/>as root.</source>
-        <translation type="unfinished"></translation>
+        <translation>Gonilnik jedra Linux VirtualBox (vboxdrv) ni naložen ali pa obstaja težava z dovoljenji za /dev/vboxdrv. Ponovno namestite modul jedra z izvajanjem <br/><br/>  <font color=blue>'/sbin/vboxconfig'</font><br/><br/> v skrbniškem načinu.</translation>
     </message>
 </context>
 <context>
     <name>QIArrowButtonPress</name>
     <message>
+        <location filename="../src/extensions/QIArrowButtonPress.cpp" line="+45"/>
         <source>&Back</source>
-        <translation type="unfinished">&Nazaj</translation>
+        <translation>&Nazaj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Next</source>
-        <translation type="unfinished">&Naprej</translation>
+        <translation>&Naprej</translation>
     </message>
 </context>
 <context>
@@ -114,21 +135,26 @@
         <translation type="vanished">&Naprej</translation>
     </message>
     <message>
+        <location filename="../src/extensions/QIArrowSplitter.cpp" line="+334"/>
         <source>&Details</source>
-        <translation type="unfinished">&Podrobnosti</translation>
+        <translation>&Podrobnosti</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&Details (%1 of %2)</source>
-        <translation type="unfinished">&Podrobnosti (%1 od %2)</translation>
+        <translation>&Podrobnosti (%1 od %2)</translation>
     </message>
 </context>
 <context>
     <name>QIFileDialog</name>
     <message>
+        <location filename="../src/extensions/QIFileDialog.cpp" line="+271"/>
         <source>Select a directory</source>
         <translation>Izberite mapo</translation>
     </message>
     <message>
+        <location line="+196"/>
+        <location line="+257"/>
         <source>Select a file</source>
         <translation>Izberite datoteko</translation>
     </message>
@@ -136,6 +162,7 @@
 <context>
     <name>QILabel</name>
     <message>
+        <location filename="../src/extensions/QILabel.cpp" line="+203"/>
         <source>&Copy</source>
         <translation>&Kopiraj</translation>
     </message>
@@ -143,18 +170,27 @@
 <context>
     <name>QIMessageBox</name>
     <message>
+        <location filename="../src/extensions/QIMessageBox.cpp" line="+301"/>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="+1796"/>
+        <location filename="../src/widgets/UIPopupPaneButtonPane.cpp" line="+180"/>
         <source>OK</source>
         <translation>V redu</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/widgets/UIPopupPaneButtonPane.cpp" line="+10"/>
         <source>Yes</source>
         <translation>Da</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/widgets/UIPopupPaneButtonPane.cpp" line="+1"/>
         <source>No</source>
         <translation>Ne</translation>
     </message>
     <message>
+        <location line="-2"/>
+        <location filename="../src/widgets/UIPopupPaneButtonPane.cpp" line="-5"/>
         <source>Cancel</source>
         <translation>Prekliči</translation>
     </message>
@@ -167,10 +203,12 @@
         <translation type="vanished">&Podrobnosti (%1 od %2)</translation>
     </message>
     <message>
+        <location line="-45"/>
         <source>Copy all errors to the clipboard</source>
         <translation>Kopiraj vse napake na odložišče</translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Copy</source>
         <translation>Kopiraj</translation>
     </message>
@@ -178,788 +216,1004 @@
 <context>
     <name>UIActionPool</name>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+64"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+374"/>
         <source>&Machine</source>
         <translation>&Računalnik</translation>
     </message>
     <message>
+        <location line="+533"/>
         <source>&Adjust Window Size</source>
         <translation>&Prilagodi velikost okna</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Adjust window size and position to best fit the guest display</source>
         <translation>Prilagodi velikost in položaj okna, da se nabolje prilega zaslonu gosta</translation>
     </message>
     <message>
+        <location line="-464"/>
         <source>Take a snapshot of the virtual machine</source>
         <translation>Naredi posnetek stanja navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+71"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+321"/>
         <source>&Pause</source>
         <translation>&Premor</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Suspend the execution of the virtual machine</source>
         <translation>Preklopi izvajanje navideznega računalnika v stanje pripravljenosti</translation>
     </message>
     <message>
+        <location line="+34"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+28"/>
         <source>&Reset</source>
-        <translation>P&onovni zagon</translation>
+        <translation>Pono&vni zagon</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Reset the virtual machine</source>
         <translation>Ponovno zažene navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+98"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+270"/>
         <source>ACPI Sh&utdown</source>
         <translation>&Zaustavitev ACPI</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="+482"/>
         <source>&Close...</source>
         <translation>&Zapri …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Close the virtual machine</source>
         <translation>Zapri navidezni računalnik</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+55"/>
         <source>&View</source>
         <translation>&Pogled</translation>
     </message>
     <message>
+        <location line="+875"/>
         <source>&Devices</source>
         <translation>&Naprave</translation>
     </message>
     <message>
+        <location line="+406"/>
         <source>De&bug</source>
         <translation>&Razhroščevanje</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Statistics...</source>
         <comment>debug action</comment>
         <translation>&Statistika …</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Command Line...</source>
         <comment>debug action</comment>
         <translation>&Ukazna vrstica …</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="+83"/>
         <source>&Help</source>
         <translation>&Pomoč</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+91"/>
         <source>Dock Icon</source>
         <translation>Ikona Docka</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>Show Monitor Preview</source>
         <translation>Prikaži predogled zaslona</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>Show Application Icon</source>
         <translation>Prikaži ikono programa</translation>
     </message>
     <message>
+        <location line="-1379"/>
         <source>Switch between normal and seamless desktop integration mode</source>
         <translation>Preklopi med običajnim in tekočim načinom vključitve namizja</translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>Switch between normal and scaled mode</source>
         <translation>Preklopi med običajnim in umerjenim načinom</translation>
     </message>
     <message>
+        <location line="+103"/>
         <source>Auto-resize &Guest Display</source>
         <translation>&Samodejno spremeni velikost zaslona gosta</translation>
     </message>
     <message>
+        <location line="-531"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-504"/>
         <source>&Settings...</source>
-        <translation>Nasta&vitve …</translation>
+        <translation>&Nastavitve …</translation>
     </message>
     <message>
+        <location line="+70"/>
         <source>Session I&nformation...</source>
         <translation>&Podatki o seji …</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="+42"/>
         <source>&Contents...</source>
-        <translation>&Vsebina …</translation>
+        <translation>Vs&ebina …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Show help contents</source>
         <translation>Prikaži vsebino pomoči</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Open the browser and go to the VirtualBox product web site</source>
-        <translation>Odpri brskalnik in pojdi na spletno mesto izdelka VirtualBox</translation>
+        <translation>Odpri brskalnik in pojdi na spletno mesto VirtualBox</translation>
     </message>
     <message>
+        <location line="+133"/>
         <source>Go back to showing all suppressed warnings and messages</source>
         <translation>Pojdi nazaj na prikaz vseh preprečenih opozoril in sporočil</translation>
     </message>
     <message>
+        <location line="+34"/>
         <source>&Network Operations Manager...</source>
         <translation>Upravljalnik &omrežnih opravil …</translation>
     </message>
     <message>
+        <location line="+35"/>
         <source>Check for a new VirtualBox version</source>
         <translation>Preveri za novo različico VirtualBoxa</translation>
     </message>
     <message>
+        <location line="+55"/>
         <source>&About VirtualBox...</source>
         <translation>&O VirtualBoxu …</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-35"/>
         <source>Take Sn&apshot...</source>
         <translation>&Zajemi posnetek stanja …</translation>
     </message>
     <message>
+        <location line="+531"/>
         <source>Take Screensh&ot...</source>
         <translation>&Zajemi zaslonsko sliko …</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-436"/>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation>&Datoteka</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&File</source>
         <comment>Non Mac OS X version</comment>
         <translation>&Datoteka</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>&Virtual Media Manager...</source>
         <translation>Upravljalnik n&avideznih nosilcev …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Display the Virtual Media Manager window</source>
         <translation>Prikaži okno Upravljalnika navideznih nosilcev</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>&Import Appliance...</source>
         <translation>&Uvozi namensko napravo …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Import an appliance into VirtualBox</source>
         <translation>Uvozi namensko napravo v VirtulaBox</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>&Export Appliance...</source>
         <translation>I&zvozi namensko napravo …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Export one or more VirtualBox virtual machines as an appliance</source>
         <translation>Izvozi enega ali več navideznih računalnikov VirtualBox kot namensko napravo</translation>
     </message>
     <message>
+        <location line="+60"/>
         <source>E&xit</source>
         <translation>Iz&hod</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Close application</source>
         <translation>Zapri program</translation>
     </message>
     <message>
+        <location line="+18"/>
         <source>&Group</source>
         <translation>&Skupina</translation>
     </message>
     <message>
+        <location line="+361"/>
         <source>S&tart</source>
         <translation>&Zaženi</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>S&how</source>
         <translation>&Prikaži</translation>
     </message>
     <message>
+        <location line="-188"/>
         <source>&New...</source>
         <translation>&Nov …</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>&Add...</source>
         <translation>&Dodaj …</translation>
     </message>
     <message>
+        <location line="+88"/>
         <source>Cl&one...</source>
         <translation>&Kloniraj …</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>&Remove...</source>
         <translation>&Odstrani …</translation>
     </message>
     <message>
+        <location line="+204"/>
         <source>Discard</source>
         <translation>Zavrzi</translation>
     </message>
     <message>
+        <location line="+162"/>
         <source>&Close</source>
         <translation>Z&apri</translation>
     </message>
     <message>
+        <location line="-126"/>
         <source>Show &Log...</source>
         <translation>Prikaži &dnevnik …</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="-258"/>
         <source>&VirtualBox Web Site...</source>
-        <translation>&Spletno mesto VirtualBox …</translation>
+        <translation>Spletno mesto &VirtualBox …</translation>
     </message>
     <message>
+        <location line="+133"/>
         <source>&Reset All Warnings</source>
-        <translation>P&onastavi vsa opozorila</translation>
+        <translation>Po&nastavi vsa opozorila</translation>
     </message>
     <message>
+        <location line="+69"/>
         <source>C&heck for Updates...</source>
         <translation>&Preveri za posodobitve …</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-485"/>
         <source>Rena&me Group...</source>
         <translation>&Preimenuj skupino …</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-295"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+717"/>
         <source>Po&wer Off</source>
         <translation>I&zklopi</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-775"/>
         <source>&New Machine...</source>
         <translation>&Nov računalnik …</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>&Add Machine...</source>
         <translation>&Dodaj računalnik …</translation>
     </message>
     <message>
+        <location line="+183"/>
         <source>Gro&up</source>
         <translation>&Skupina</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+1173"/>
         <source>Shared &Clipboard</source>
-        <translation>&Deljeno odložišče</translation>
+        <translation>&Souporaba odložišča</translation>
     </message>
     <message>
+        <location line="-1172"/>
         <source>Power off the virtual machine</source>
         <translation>Izklopi navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+1063"/>
         <source>&Network Settings...</source>
         <translation>&Omrežne nastavitve …</translation>
     </message>
     <message>
+        <location line="+186"/>
         <source>&Shared Folders Settings...</source>
-        <translation>&Nastavitve deljenih map</translation>
+        <translation>&Nastavitve souporabe map …</translation>
     </message>
     <message>
+        <location line="-837"/>
         <source>R&emote Display</source>
         <translation>&Oddaljeni zaslon</translation>
     </message>
     <message>
+        <location line="-93"/>
+        <location line="+61"/>
         <source>&Video Capture</source>
         <translation>&Zajem zaslonskega posnetka</translation>
     </message>
     <message>
+        <location line="-32"/>
         <source>&Video Capture Settings...</source>
         <translation>&Nastavitve zajema zaslonskega posnetka …</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIShortcutPool.cpp" line="+251"/>
+        <location line="+23"/>
         <source>Popup Menu</source>
         <translation>Pojavni meni</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+800"/>
         <source>&Webcams</source>
         <translation>&Spletne kamere</translation>
     </message>
     <message>
+        <location line="+131"/>
         <source>&Insert Guest Additions CD image...</source>
         <translation>&Vstavi odtis CD Dodatkov za gosta …</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="-406"/>
         <source>&VirtualBox</source>
         <translation>&VirtualBox</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-842"/>
         <source>&Menu Bar</source>
         <translation>&Menijska vrstica</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Menu Bar Settings...</source>
         <translation>&Nastavitve menijske vrstice …</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Show Menu &Bar</source>
         <translation>Prikaži &menijsko vrstico</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>&Status Bar</source>
         <translation>&Vrstica stanja</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Status Bar Settings...</source>
         <translation>&Nastavitve vrstice stanja …</translation>
     </message>
     <message>
+        <location line="+31"/>
         <source>Show Status &Bar</source>
         <translation>Prikaži vrstico &stanja</translation>
     </message>
     <message>
+        <location line="+49"/>
         <source>&Input</source>
         <translation>&Vnos</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>&Keyboard</source>
         <translation>&Tipkovnica</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Keyboard Settings...</source>
         <translation>&Nastavitve tipkovice …</translation>
     </message>
     <message>
+        <location line="+157"/>
         <source>&Mouse</source>
         <translation>&Miška</translation>
     </message>
     <message>
+        <location line="+277"/>
         <source>&USB Settings...</source>
         <translation>&Nastavitve USB …</translation>
     </message>
     <message>
+        <location line="+100"/>
         <source>&Shared Folders</source>
-        <translation>&Deljene mape</translation>
+        <translation>&Souporaba map</translation>
     </message>
     <message>
+        <location line="+201"/>
         <source>Show &Log...</source>
         <comment>debug action</comment>
         <translation>&Prikaži dnevnik …</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-291"/>
         <source>E&xtra Data Manager...</source>
         <translation>&Upravljalnik dodatnih podatkov …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Display the Extra Data Manager window</source>
         <translation>Prikaži okno Upravljalnika dodatnih podatkov</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="+2"/>
         <source>&File</source>
         <translation>&Datoteka</translation>
     </message>
     <message>
+        <location line="+69"/>
         <source>&Window</source>
         <translation>&Okno</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Minimize</source>
         <translation>&Skrči</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-1340"/>
         <source>&Full-screen Mode</source>
         <translation>&Celozaslonski način</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Switch between normal and full-screen mode</source>
         <translation>Preklopi med običajnim in celozaslonskim načinom</translation>
     </message>
     <message>
+        <location line="+36"/>
         <source>Seam&less Mode</source>
         <translation>&Tekoči način</translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>S&caled Mode</source>
         <translation>&Umerjen način</translation>
     </message>
     <message>
+        <location line="+454"/>
         <source>S&cale Factor</source>
         <translation>&Faktor umerjanja</translation>
     </message>
     <message>
+        <location line="+113"/>
+        <location line="+36"/>
+        <location line="+31"/>
+        <location line="+30"/>
         <source>Send the %1 sequence to the virtual machine</source>
         <translation>Pošlji zaporedje %1 v navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+55"/>
         <source>&Mouse Integration</source>
         <translation>&Vključitev miške</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Enable host mouse pointer integration</source>
         <translation>Omogoči vključitev kazalca miške gostitelja</translation>
     </message>
     <message>
+        <location line="+108"/>
         <source>&Optical Drives</source>
         <translation>&Optični pogoni</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>&Floppy Drives</source>
         <translation>&Disketni pogoni</translation>
     </message>
     <message>
+        <location line="+81"/>
         <source>&USB</source>
         <translation>&USB</translation>
     </message>
     <message>
+        <location line="+301"/>
         <source>&Logging</source>
         <comment>debug action</comment>
         <translation>&Beleženje</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+450"/>
         <source>&Normal Start</source>
         <translation>&Običajni zagon</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>&Headless Start</source>
         <translation>&Brezglavni zagon</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>&Detachable Start</source>
         <translation>O&dklopljiv zagon</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="+1"/>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-1200"/>
         <source>Minimize active window</source>
         <translation>Skrči dejavno okno</translation>
     </message>
     <message>
+        <location line="+272"/>
         <source>Display the Network Operations Manager window</source>
         <translation>Prikaži okno Upravljalnika omrežnih opravil</translation>
     </message>
     <message>
+        <location line="+90"/>
         <source>Display a window with product information</source>
         <translation>Prikaži okno s podatki o izdelku</translation>
     </message>
     <message>
+        <location line="+43"/>
         <source>&Preferences...</source>
         <comment>global preferences window</comment>
         <translation>&Možnosti …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Display the global preferences window</source>
         <translation>Prikaži okno splošnih možnosti</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-463"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-175"/>
         <source>Display the virtual machine settings window</source>
         <translation>Prikaži okno nastavitev navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+70"/>
         <source>Display the virtual machine session information window</source>
         <translation>Prikaži okno podatkov o seji navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+131"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+475"/>
         <source>&Save State</source>
         <translation>&Shrani stanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Save the state of the virtual machine</source>
         <translation>Shrani stanje navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation>Pošlji signal zaustavitve ACPI v navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+221"/>
         <source>&Minimize Window</source>
         <translation>&Skrči okno</translation>
     </message>
     <message>
+        <location line="+69"/>
         <source>Automatically resize the guest display when the window is resized</source>
         <translation>Samodejno spremeni velikost zaslona gosta, ko se spremeni velikost okna</translation>
     </message>
     <message>
+        <location line="+35"/>
         <source>Take guest display screenshot</source>
         <translation>Zajemi zaslonsko sliko zaslona gosta</translation>
     </message>
     <message>
+        <location line="+54"/>
         <source>Display virtual machine settings window to configure video capture</source>
-        <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev zajema video posnetka</translation>
+        <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev zajema videoposnetka</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Enable guest display video capture</source>
-        <translation>Omogoči zajem video posnetka zaslona gosta</translation>
+        <translation>Omogoči zajem videoposnetka zaslona gosta</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation>Dovoli povezave oddaljenega namizja (RDP) s tem računalnikom</translation>
     </message>
     <message>
+        <location line="+54"/>
         <source>Display window to configure menu-bar</source>
         <translation>Prikaži okno za nastavitev menijske vrstice</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Enable menu-bar</source>
         <translation>Omogoči menjsko vrstico</translation>
     </message>
     <message>
+        <location line="+55"/>
         <source>Display window to configure status-bar</source>
         <translation>Prikaži okno za nastavitev vrstice stanja</translation>
     </message>
     <message>
+        <location line="+31"/>
         <source>Enable status-bar</source>
         <translation>Omogoči vrstico stanja</translation>
     </message>
     <message>
+        <location line="+102"/>
         <source>Display global preferences window to configure keyboard shortcuts</source>
         <translation>Prikaži okno splošnih možnosti za nastavitev tipkovnih bližnjic</translation>
     </message>
     <message>
+        <location line="+34"/>
+        <location line="+36"/>
+        <location line="+31"/>
+        <location line="+30"/>
         <source>&Insert %1</source>
         <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation>&Pošlji %1</translation>
     </message>
     <message>
+        <location line="+108"/>
         <source>&Hard Disks</source>
         <translation>&Trdi diski</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Hard Disk Settings...</source>
         <translation>&Nastavitve trdih diskov …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Display virtual machine settings window to configure hard disks</source>
         <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev trdih diskov</translation>
     </message>
     <message>
+        <location line="+78"/>
         <source>&Network</source>
         <translation>&Omrežje</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>Display virtual machine settings window to configure network adapters</source>
         <translation>Prikaži okno nastavitev navideznega računalnika za nastavtev omrežnih vmesnikov</translation>
     </message>
     <message>
+        <location line="+57"/>
         <source>Display virtual machine settings window to configure USB devices</source>
         <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev naprav USB</translation>
     </message>
     <message>
+        <location line="+75"/>
         <source>&Drag and Drop</source>
         <translation>&Povleci in spusti</translation>
     </message>
     <message>
+        <location line="+54"/>
         <source>Display virtual machine settings window to configure shared folders</source>
-        <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev deljenih map</translation>
+        <translation>Prikaži okno nastavitev navideznega računalnika za nastavitev souporabe map</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation>Vstavi datoteko diska Dodatkov za gosta v navidezni optični pogon</translation>
     </message>
     <message>
+        <location line="+1020"/>
         <source>%1%</source>
         <comment>scale-factor</comment>
         <translation>%1%</translation>
     </message>
     <message>
+        <location line="+52"/>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
         <translation>Omogoči</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
         <translation>Spremeni velikost na %1x%2</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIMachineLogic.cpp" line="+903"/>
         <source>Preview Monitor %1</source>
         <translation>Predogled zaslona %1</translation>
     </message>
     <message>
+        <location line="+1495"/>
         <source>&Connect Network Adapter</source>
         <translation>&Poveži omrežni vmesnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Connect Network Adapter &%1</source>
         <translation>Poveži omrežni vmesnik &%1</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>No USB Devices Connected</source>
         <translation>Ni povezanih naprav USB</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>No supported devices connected to the host PC</source>
         <translation>Ni povezanih podprtih naprav z gostiteljskim računalnikom</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>No Webcams Connected</source>
         <translation>Ni povezanih spletnih kamer</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>No supported webcams connected to the host PC</source>
         <translation>Ni povezanih spletnih kamer z gostiteljskim računalnikom</translation>
     </message>
     <message>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-718"/>
+        <location line="+155"/>
         <source>Create new virtual machine</source>
         <translation>Ustvari nov navidezni računalnik</translation>
     </message>
     <message>
+        <location line="-125"/>
+        <location line="+155"/>
         <source>Add existing virtual machine</source>
         <translation>Dodaj obstoječi navidezni računalnik</translation>
     </message>
     <message>
+        <location line="-127"/>
         <source>Rename selected virtual machine group</source>
         <translation>Preimenuj izbrano skupino navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>&Ungroup</source>
         <translation>&Razdruži</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Ungroup items of selected virtual machine group</source>
         <translation>Razdruži predmete izbrane skupne navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+22"/>
+        <location line="+541"/>
         <source>&Sort</source>
         <translation>Razvrs&ti</translation>
     </message>
     <message>
+        <location line="-540"/>
         <source>Sort items of selected virtual machine group alphabetically</source>
         <translation>Razvrsti predmete izbrane skupine navideznih računalnikov po abecedi</translation>
     </message>
     <message>
+        <location line="+104"/>
         <source>Add new group based on selected virtual machines</source>
         <translation>Dodaj novo skupino glede na izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location line="+60"/>
         <source>Clone selected virtual machine</source>
         <translation>Kloniraj izbran navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>Remove selected virtual machines</source>
         <translation>Odstrani izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location line="+31"/>
+        <location line="+39"/>
         <source>Start selected virtual machines</source>
         <translation>Zaženi izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location line="-30"/>
         <source>Switch to the windows of selected virtual machines</source>
         <translation>Preklopi na okna izbranih navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+53"/>
         <source>Start selected virtual machines in the background</source>
         <translation>Zaženi izbrane navidezne računalnike v ozadju</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Start selected virtual machines with option of continuing in background</source>
         <translation>Zaženi izbrane navidezne računalnike z možnostjo nadaljevanja v ozadju</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>Suspend execution of selected virtual machines</source>
         <translation>Preklopi izvajanje izbranih navideznih računalnikov v stanje pripravljenosti</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Reset selected virtual machines</source>
         <translation>Ponovno zažene izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>D&iscard Saved State...</source>
         <translation>Zavrzi s&hranjeno stanje …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Discard saved state of selected virtual machines</source>
         <translation>Zavrzi shranjeno stanje izbranih navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+35"/>
         <source>Show log files of selected virtual machines</source>
         <translation>Prikaži datoteke dnevnika izbranih navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Re&fresh</source>
         <translation>Osve&ži</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Refresh accessibility state of selected virtual machines</source>
         <translation>Osveži stanje dostopnosti izbranih navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>S&how in Finder</source>
         <translation>Prikaži v &Finderju</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation>Prikaži datoteke določila navideznega računalnika v Finderju</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>S&how in Explorer</source>
         <translation>Prikaži v &Raziskovalcu</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Show the VirtualBox Machine Definition files in Explorer</source>
         <translation>Prikaži datoteke določila navideznega računalnika v Raziskovalcu</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>S&how in File Manager</source>
         <translation>&Prikaži v Upravljalniku datotek</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Show the VirtualBox Machine Definition files in the File Manager</source>
         <translation>Prikaži datoteke določila navideznega računalnika v Upravljalniku datotek</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Cr&eate Alias on Desktop</source>
         <translation>&Ustvari bližnjico na namizju</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
         <translation>Ustvari bližnjice datotek določila navideznega računalnika na namizju</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Cr&eate Shortcut on Desktop</source>
         <translation>&Ustvari bližnjco na namizju</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
         <translation>Ustvari bližnjice datotek določila navideznega računalnika na namizju</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Sort group of first selected virtual machine alphabetically</source>
         <translation>Razvrsti skupino prvo izbranega navideznega računalnika po abecedi</translation>
     </message>
     <message>
+        <location line="+69"/>
         <source>Save state of selected virtual machines</source>
         <translation>Shrani stanje izbranih navideznih računalnikov</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Send ACPI Shutdown signal to selected virtual machines</source>
         <translation>Pošlji signal zaustavitve ACPI v izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Power off selected virtual machines</source>
         <translation>Izklopi izbrane navidezne računalnike</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIActionPool.cpp" line="-270"/>
         <source>&VirtualBox Bug Tracker...</source>
-        <translation type="unfinished"></translation>
+        <translation>&Sledilnik hroščev VirtualBox …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Open the browser and go to the VirtualBox product bug tracker</source>
-        <translation type="unfinished"></translation>
+        <translation>Odpri brskalnik in pojdi na sledilnik hroščev VirtualBox</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>&VirtualBox Forums...</source>
-        <translation type="unfinished"></translation>
+        <translation>&Forumi VirtuaBox …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Open the browser and go to the VirtualBox product forums</source>
-        <translation type="unfinished"></translation>
+        <translation>Odpri brskalnik in pojdi na forume VirtualBox</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>&Oracle Web Site...</source>
-        <translation type="unfinished"></translation>
+        <translation>Spletno mesto &Oracle …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Open the browser and go to the Oracle web site</source>
-        <translation type="unfinished"></translation>
+        <translation>Odpri brskalnik in pojdi na spletno mesto Oracle</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="-2476"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="-85"/>
         <source>&Detach GUI</source>
-        <translation type="unfinished"></translation>
+        <translation>&Odpni GUI</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/selector/UIActionPoolSelector.cpp" line="+1"/>
         <source>Detach the GUI from headless VM</source>
-        <translation type="unfinished"></translation>
+        <translation>Odpni GUI z brezglavnega navideznega računalnka</translation>
     </message>
     <message>
+        <location line="+1619"/>
         <source>Disable Dock Icon Overlay</source>
-        <translation type="unfinished"></translation>
+        <translation>Onemogoči prekrivnost ikone Docka</translation>
     </message>
 </context>
 <context>
     <name>UIAddDiskEncryptionPasswordDialog</name>
     <message>
+        <location filename="../src/runtime/UIAddDiskEncryptionPasswordDialog.cpp" line="+529"/>
         <source>%1 - Disk Encryption</source>
         <translation>%1 - šifriranje diska</translation>
     </message>
     <message numerus="yes">
+        <location line="+4"/>
         <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
         <translation>
@@ -970,16 +1224,19 @@
         </translation>
     </message>
     <message>
+        <location line="-276"/>
         <source>ID</source>
         <comment>password table field</comment>
         <translation>ID</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Password</source>
         <comment>password table field</comment>
         <translation>Geslo</translation>
     </message>
     <message numerus="yes">
+        <location line="+46"/>
         <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
         <translation>
@@ -993,114 +1250,143 @@
 <context>
     <name>UIApplianceEditorWidget</name>
     <message>
+        <location filename="../src/widgets/UIApplianceEditorWidget.cpp" line="+108"/>
         <source>Virtual System %1</source>
         <translation>Navidezni sistem %1</translation>
     </message>
     <message>
+        <location line="+97"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Product</source>
         <translation>Izdelek</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Product-URL</source>
         <translation>URL izdelka</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Vendor</source>
         <translation>Prodajalec</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Vendor-URL</source>
         <translation>URL prodajalca</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Version</source>
         <translation>Različica</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+677"/>
         <source>Description</source>
         <translation>Opis</translation>
     </message>
     <message>
+        <location line="-676"/>
         <source>License</source>
         <translation>Dovoljenje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest OS Type</source>
         <translation>Vrsta gostujočega operacijskega sistema</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>CPU</source>
         <translation>CPE</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>RAM</source>
         <translation>RAM</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>DVD</source>
         <translation>DVD</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Floppy</source>
         <translation>Disketa</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Network Adapter</source>
         <translation>Omrežni vmesnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>USB Controller</source>
         <translation>Krmilnik USB</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Sound Card</source>
         <translation>Zvočna kartica</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Virtual Disk Image</source>
         <translation>Odtis navideznega diska</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Unknown Hardware Item</source>
         <translation>Neznan predmet strojne opreme</translation>
     </message>
     <message>
+        <location line="+34"/>
         <source><b>Original Value:</b> %1</source>
         <translation><b>Izvirna vrednost:</b> %1</translation>
     </message>
     <message>
+        <location line="+629"/>
         <source>Configuration</source>
         <translation>Nastavitve</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIApplianceEditorWidget.ui" line="+76"/>
         <source>Warnings:</source>
         <translation>Opozorila:</translation>
     </message>
     <message>
+        <location line="-28"/>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation>Ko je označeno, bo vsem nastavljenim omrežnim karticam dodeljen nov edinstven naslov MAC.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Ponovno vpelji naslov MAC vseh omrežnih kartic</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIApplianceEditorWidget.cpp" line="-673"/>
         <source>Storage Controller (IDE)</source>
         <translation>Krmilnik pomnilniških naprav (IDE)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Storage Controller (SATA)</source>
         <translation>Krmilnik pomnilniških naprav (SATA)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Storage Controller (SCSI)</source>
         <translation>Krmilnik pomnilniških naprav (SCSI)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Storage Controller (SAS)</source>
         <translation>Krmilnik pomnilniških naprav (SAS)</translation>
     </message>
@@ -1108,10 +1394,12 @@
 <context>
     <name>UIApplianceImportEditorWidget</name>
     <message>
+        <location filename="../src/widgets/UIApplianceImportEditorWidget.cpp" line="+154"/>
         <source>Importing Appliance ...</source>
         <translation>Uvažanje namenske naprave …</translation>
     </message>
     <message>
+        <location line="-80"/>
         <source>Reading Appliance ...</source>
         <translation>Branje namenske naprave …</translation>
     </message>
@@ -1119,79 +1407,100 @@
 <context>
     <name>UIApplianceUnverifiedCertificateViewer</name>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp" line="+260"/>
         <source>Unverifiable Certificate! Continue?</source>
-        <translation type="unfinished"></translation>
+        <translation>Potrdila ni mogoče preveriti! Nadaljuj?</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><b>The appliance is signed by an unverified self signed certificate issued by '%1'. We recommend to only proceed with the importing if you are sure you should trust this entity.</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Namenska naprava je podpisana z nepreverjenim samopodpisanim potrdilom, ki ga je izdal  '%1'. Priporočamo, da nadaljujete z uvozom samo, če ste prepričani, da lahko zaupate tej osebi.</b></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><b>The appliance is signed by an unverified certificate issued to '%1'. We recommend to only proceed with the importing if you are sure you should trust this entity.</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Namenska naprava je podpisana z nepreverjenim potrdilom, ki ga je izdal  '%1'. Priporočamo, da nadaljujete z uvozom samo, če ste prepričani, da lahko zaupate tej osebi.</b></translation>
     </message>
     <message>
+        <location line="+12"/>
+        <location line="+1"/>
         <source>True</source>
-        <translation type="unfinished"></translation>
+        <translation>Prav</translation>
     </message>
     <message>
+        <location line="-1"/>
+        <location line="+1"/>
         <source>False</source>
-        <translation type="unfinished"></translation>
+        <translation>Napak</translation>
     </message>
     <message>
+        <location line="-8"/>
         <source><tr><td>%1:</td><td>%2</td></tr></source>
         <comment>key: value</comment>
-        <translation type="unfinished"></translation>
+        <translation><tr><td>%1:</td><td>%2</td></tr></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Issuer</source>
-        <translation type="unfinished"></translation>
+        <translation>Izdajatelj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Subject</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadeva</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Not Valid Before</source>
-        <translation type="unfinished"></translation>
+        <translation>Veljavno od</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Not Valid After</source>
-        <translation type="unfinished"></translation>
+        <translation>Veljavno do</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Serial Number</source>
-        <translation type="unfinished"></translation>
+        <translation>Zaporedna številka</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Self-Signed</source>
-        <translation type="unfinished"></translation>
+        <translation>Samopodpisano</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Authority (CA)</source>
-        <translation type="unfinished"></translation>
+        <translation>Overitelj (CA)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Public Algorithm</source>
-        <translation type="unfinished"></translation>
+        <translation>Javni algoritem</translation>
     </message>
     <message>
+        <location line="+0"/>
+        <location line="+1"/>
         <source>%1 (%2)</source>
         <comment>value (clarification)</comment>
-        <translation type="unfinished"></translation>
+        <translation>%1 (%2)</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>Signature Algorithm</source>
-        <translation type="unfinished"></translation>
+        <translation>Algoritem podpisa</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>X.509 Version Number</source>
-        <translation type="unfinished"></translation>
+        <translation>Številka različice X.509</translation>
     </message>
 </context>
 <context>
     <name>UIDetailsPagePrivate</name>
     <message>
+        <location filename="../src/selector/UIVMDesktop.cpp" line="+140"/>
         <source>The selected virtual machine is <i>inaccessible</i>. Please inspect the error message shown below and press the <b>Refresh</b> button if you want to repeat the accessibility check:</source>
         <translation>Izbran navidezni računalnk je <i>nedostopen</i>. Preglejte spodnje  sporočilo napake in pritisnite gumb <b>Osveži</b>, če želite ponoviti preverjanje dostopnosti:</translation>
     </message>
@@ -1199,10 +1508,12 @@
 <context>
     <name>UIDnDHandler</name>
     <message>
+        <location filename="../src/runtime/UIDnDHandler.cpp" line="+240"/>
         <source>Dropping data ...</source>
         <translation>Opuščanje podatkov …</translation>
     </message>
     <message>
+        <location line="+476"/>
         <source>Retrieving data ...</source>
         <translation>Pridobivanje podatkov …</translation>
     </message>
@@ -1210,10 +1521,12 @@
 <context>
     <name>UIDownloader</name>
     <message>
+        <location filename="../src/net/UIDownloader.cpp" line="+73"/>
         <source>Looking for %1...</source>
         <translation>Iskanje %1 …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Downloading %1...</source>
         <translation>Prejemanje %1 …</translation>
     </message>
@@ -1221,10 +1534,12 @@
 <context>
     <name>UIDownloaderAdditions</name>
     <message>
+        <location filename="../src/net/UIDownloaderAdditions.cpp" line="+137"/>
         <source>Select folder to save Guest Additions image to</source>
         <translation>Izberite mapo za shranjevanje Dodatkov za gosta</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>VirtualBox Guest Additions</source>
         <translation>Dodatki za gosta VirtualBox</translation>
     </message>
@@ -1232,10 +1547,12 @@
 <context>
     <name>UIDownloaderExtensionPack</name>
     <message>
+        <location filename="../src/net/UIDownloaderExtensionPack.cpp" line="+133"/>
         <source>Select folder to save %1 to</source>
         <translation>Izberite mapo za shranjevanje %1</translation>
     </message>
     <message>
+        <location line="-45"/>
         <source>VirtualBox Extension Pack</source>
         <translation>Paket razširitev za VirtualBox</translation>
     </message>
@@ -1243,10 +1560,12 @@
 <context>
     <name>UIDownloaderUserManual</name>
     <message>
+        <location filename="../src/net/UIDownloaderUserManual.cpp" line="+119"/>
         <source>Select folder to save User Manual to</source>
         <translation>Izberite mapo za shranjevanje uporabniškega priročnika</translation>
     </message>
     <message>
+        <location line="-36"/>
         <source>VirtualBox User Manual</source>
         <translation>Uporabniški priročnik za VirtualBox</translation>
     </message>
@@ -1254,73 +1573,89 @@
 <context>
     <name>UIEmptyFilePathSelector</name>
     <message>
+        <location filename="../src/widgets/UIEmptyFilePathSelector.cpp" line="+207"/>
         <source>Choose...</source>
-        <translation type="unfinished">Izberi …</translation>
+        <translation>Izberi …</translation>
     </message>
 </context>
 <context>
     <name>UIFilePathSelector</name>
     <message>
+        <location filename="../src/widgets/UIFilePathSelector.cpp" line="+218"/>
         <source>&Copy</source>
-        <translation type="unfinished">&Kopiraj</translation>
+        <translation>&Kopiraj</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Other...</source>
-        <translation type="unfinished">Drugo …</translation>
+        <translation>Drugo …</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Reset</source>
-        <translation type="unfinished"></translation>
+        <translation>Ponastavi</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Displays a window to select a different folder.</source>
-        <translation type="unfinished">Prikaže okno za izbiro druge mape.</translation>
+        <translation>Prikaže okno za izbiro druge mape.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Resets the folder path to the default value.</source>
-        <translation type="unfinished">Ponastavi pot mape na privzeto vrednost.</translation>
+        <translation>Ponastavi pot mape na privzeto vrednost.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Displays a window to select a different file.</source>
-        <translation type="unfinished">Prikaže okno za izbiro druge datoteke.</translation>
+        <translation>Prikaže okno za izbiro druge datoteke.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Resets the file path to the default value.</source>
-        <translation type="unfinished">Ponastavi pot datoteke na privzeto vrednost.</translation>
+        <translation>Ponastavi pot datoteke na privzeto vrednost.</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source><reset to default></source>
-        <translation type="unfinished"><ponastavi na privzeto></translation>
+        <translation><ponastavi na privzeto></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
-        <translation type="unfinished">Dejanska vrednost privzete poti bo prikazana po uporabi sprememb in ponovnem odpiranju tega okna.</translation>
+        <translation>Dejanska vrednost privzete poti bo prikazana po uporabi sprememb in ponovnem odpiranju tega okna.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><not selected></source>
-        <translation type="unfinished"><ni izbrano></translation>
+        <translation><ni izbrano></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Please use the <b>Other...</b> item from the drop-down list to select a path.</source>
-        <translation type="unfinished">Uporabite predmet<b>Drugo …</b> s spustnega seznama za izbiro poti.</translation>
+        <translation>Uporabite predmet <b>Drugo …</b> s spustnega seznama za izbiro poti.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Holds the folder path.</source>
-        <translation type="unfinished">Vsebuje pot mape.</translation>
+        <translation>Vsebuje pot mape.</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Holds the file path.</source>
-        <translation type="unfinished">Vsebuje pot datoteke.</translation>
+        <translation>Vsebuje pot datoteke.</translation>
     </message>
 </context>
 <context>
     <name>UIGChooserItemGroup</name>
     <message>
+        <location filename="../src/selector/graphics/chooser/UIGChooserItemGroup.cpp" line="+668"/>
         <source><b>%1</b></source>
         <comment>Group item tool-tip / Group name</comment>
         <translation><b>%1</b></translation>
     </message>
     <message numerus="yes">
+        <location line="+10"/>
         <source>%n group(s)</source>
         <comment>Group item tool-tip / Group info</comment>
         <translation>
@@ -1331,11 +1666,13 @@
         </translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><nobr>%1</nobr></source>
         <comment>Group item tool-tip / Group info wrapper</comment>
         <translation><nobr>%1</nobr></translation>
     </message>
     <message numerus="yes">
+        <location line="+13"/>
         <source>%n machine(s)</source>
         <comment>Group item tool-tip / Machine info</comment>
         <translation>
@@ -1346,6 +1683,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+1"/>
         <source>(%n running)</source>
         <comment>Group item tool-tip / Running machine info</comment>
         <translation>
@@ -1356,28 +1694,34 @@
         </translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>%1</nobr></source>
         <comment>Group item tool-tip / Machine info wrapper</comment>
         <translation><nobr>%1</nobr></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><nobr>%1 %2</nobr></source>
         <comment>Group item tool-tip / Machine info wrapper, including running</comment>
         <translation><nobr>%1 %2</nobr></translation>
     </message>
     <message>
+        <location line="+15"/>
         <source>Collapse group</source>
         <translation>Strni skupino</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>Expand group</source>
         <translation>Razširi skupino</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Enter group</source>
         <translation>Vstopi v skupino</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Exit group</source>
         <translation>Izhod iz skupine</translation>
     </message>
@@ -1385,6 +1729,7 @@
 <context>
     <name>UIGChooserModel</name>
     <message>
+        <location filename="../src/selector/graphics/chooser/UIGChooserModel.cpp" line="+532"/>
         <source>New group</source>
         <translation>Nova skupina</translation>
     </message>
@@ -1392,345 +1737,427 @@
 <context>
     <name>UIGDetails</name>
     <message>
+        <location filename="../src/selector/graphics/details/UIGDetailsElements.cpp" line="+249"/>
         <source>Name</source>
         <comment>details (general)</comment>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>Groups</source>
         <comment>details (general)</comment>
         <translation>Skupine</translation>
     </message>
     <message>
+        <location line="+26"/>
+        <location line="+77"/>
         <source>%1 MB</source>
         <comment>details</comment>
         <translation>%1 MB</translation>
     </message>
     <message>
+        <location line="-72"/>
         <source>Processors</source>
         <comment>details (system)</comment>
         <translation>Procesorji</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>%1%</source>
         <comment>details</comment>
         <translation>%1%</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>VT-x/AMD-V</source>
         <comment>details (system)</comment>
         <translation>VT-x/AMD-V</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>PAE/NX</source>
         <comment>details (system)</comment>
         <translation>PAE/NX</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Acceleration</source>
         <comment>details (system)</comment>
         <translation>Pospeševanje</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Screens</source>
         <comment>details (display)</comment>
         <translation>Zasloni</translation>
     </message>
     <message>
+        <location line="+42"/>
         <source>3D</source>
         <comment>details (display)</comment>
         <translation>3D</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Acceleration</source>
         <comment>details (display)</comment>
         <translation>Pospeševanje</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Disabled</source>
         <comment>details (display/vrde/VRDE server)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+128"/>
         <source>Controller</source>
         <comment>details (audio)</comment>
         <translation>Krmilnik</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Disabled</source>
         <comment>details (audio)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+77"/>
         <source>Adapter %1</source>
         <comment>details (network)</comment>
         <translation>Vmesnik %1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Disabled</source>
         <comment>details (network/adapter)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+54"/>
         <source>Port %1</source>
         <comment>details (serial)</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Disabled</source>
         <comment>details (serial)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Port %1</source>
         <comment>details (parallel)</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Disabled</source>
         <comment>details (parallel)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>%1 (%2 active)</source>
         <comment>details (usb)</comment>
         <translation>%1 (%2 dejavnih)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Disabled</source>
         <comment>details (usb)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+31"/>
         <source>None</source>
         <comment>details (shared folders)</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="+117"/>
         <source>None</source>
         <comment>details (description)</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="-690"/>
         <source>Operating System</source>
         <comment>details (general)</comment>
         <translation>Operacijski sistem</translation>
     </message>
     <message>
+        <location line="+23"/>
+        <location line="+76"/>
+        <location line="+104"/>
+        <location line="+80"/>
+        <location line="+36"/>
+        <location line="+81"/>
+        <location line="+59"/>
+        <location line="+38"/>
+        <location line="+51"/>
+        <location line="+28"/>
+        <location line="+89"/>
+        <location line="+28"/>
         <source>Information Inaccessible</source>
         <comment>details</comment>
         <translation>Podatki niso dostopni</translation>
     </message>
     <message>
+        <location line="-649"/>
         <source>Base Memory</source>
         <comment>details (system)</comment>
         <translation>Osnovni pomnilnik</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Execution Cap</source>
         <comment>details (system)</comment>
         <translation>Omejitev izvajanja</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Boot Order</source>
         <comment>details (system)</comment>
         <translation>Vrstni red zagona</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Nested Paging</source>
         <comment>details (system)</comment>
         <translation>Ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Video Memory</source>
         <comment>details (display)</comment>
         <translation>Grafični pomnilnik</translation>
     </message>
     <message>
+        <location line="+44"/>
         <source>2D Video</source>
         <comment>details (display)</comment>
-        <translation>Video 2D</translation>
+        <translation>Grafika 2D</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Remote Desktop Server Port</source>
         <comment>details (display/vrde)</comment>
         <translation>Vrata strežnika oddaljenega namizja</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Remote Desktop Server</source>
         <comment>details (display/vrde)</comment>
         <translation>Strežnik oddaljenega namizja</translation>
     </message>
     <message>
+        <location line="+98"/>
         <source>Not Attached</source>
         <comment>details (storage)</comment>
         <translation>Ni priklopljen</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>Host Driver</source>
         <comment>details (audio)</comment>
         <translation>Gonilnik gostitelja</translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Bridged Adapter, %1</source>
         <comment>details (network)</comment>
         <translation>Povezan vmesnik, %1</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Internal Network, '%1'</source>
         <comment>details (network)</comment>
         <translation>Notranje omrežje, '%1'</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Host-only Adapter, '%1'</source>
         <comment>details (network)</comment>
         <translation>Vmesnik samo za gostitelja, '%1'</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Generic Driver, '%1'</source>
         <comment>details (network)</comment>
         <translation>Splošni gonilnik, '%1'</translation>
     </message>
     <message>
+        <location line="+163"/>
         <source>Device Filters</source>
         <comment>details (usb)</comment>
         <translation>Filtri naprav</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>USB Controller Inaccessible</source>
         <comment>details (usb)</comment>
         <translation>Krmilnik USB ni dostopen</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Shared Folders</source>
         <comment>details (shared folders)</comment>
-        <translation>Deljene mape</translation>
+        <translation>Mape v souporabi</translation>
     </message>
     <message>
+        <location line="-382"/>
         <source>Video Capture File</source>
         <comment>details (display/video capture)</comment>
-        <translation>Datoteka zajema video posnetka</translation>
+        <translation>Datoteka zajema videoposnetka</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Video Capture Attributes</source>
         <comment>details (display/video capture)</comment>
-        <translation>Lastnosti zajema video posnetka</translation>
+        <translation>Lastnosti zajema videoposnetka</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Video Capture</source>
         <comment>details (display/video capture)</comment>
-        <translation>Zajem video posnetka</translation>
+        <translation>Zajem videoposnetka</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details (display/video capture)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+183"/>
         <source>NAT Network, '%1'</source>
         <comment>details (network)</comment>
         <translation>Omrežje NAT, '%1'</translation>
     </message>
     <message>
+        <location line="-190"/>
         <source>Frame Size: %1x%2, Frame Rate: %3fps, Bit Rate: %4kbps</source>
         <translation>Velikost sličic: %1x%2, hitrost sličic: %3 sl./s, bitna hitrost: %4 kb/s</translation>
     </message>
     <message>
+        <location line="-103"/>
         <source>Minimal Paravirtualization</source>
         <comment>details (system)</comment>
         <translation>Najmanjša paranavideznost</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Hyper-V Paravirtualization</source>
         <comment>details (system)</comment>
         <translation>Paranavideznost Hyper-V</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>KVM Paravirtualization</source>
         <comment>details (system)</comment>
         <translation>Paranavideznost KVM</translation>
     </message>
     <message>
+        <location line="+162"/>
         <source>[Optical Drive]</source>
         <comment>details (storage)</comment>
         <translation>[optični pogon]</translation>
     </message>
     <message>
+        <location line="+277"/>
         <source>USB Controller</source>
         <comment>details (usb)</comment>
         <translation>Krmilnik USB</translation>
     </message>
     <message>
+        <location line="+116"/>
+        <location line="+5"/>
         <source>Mini-toolbar Position</source>
         <comment>details (user interface)</comment>
         <translation>Položaj mini orodne vrstice</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>Top</source>
         <comment>details (user interface/mini-toolbar position)</comment>
         <translation>Zgoraj</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Bottom</source>
         <comment>details (user interface/mini-toolbar position)</comment>
         <translation>Spodaj</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Mini-toolbar</source>
         <comment>details (user interface)</comment>
         <translation>Mini orodna vrstica</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details (user interface/mini-toolbar)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="-519"/>
         <source>Scale-factor</source>
         <comment>details (display)</comment>
         <translation>Faktor umerjanja</translation>
     </message>
     <message>
+        <location line="+15"/>
         <source>Unscaled HiDPI Video Output</source>
         <comment>details (display)</comment>
         <translation>Neumerjen slikovni izhod HiDPI</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Enabled</source>
         <comment>details (display/Unscaled HiDPI Video Output)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+449"/>
         <source>Menu-bar</source>
         <comment>details (user interface)</comment>
         <translation>Menijska vrstica</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Enabled</source>
         <comment>details (user interface/menu-bar)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details (user interface/menu-bar)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Status-bar</source>
         <comment>details (user interface)</comment>
         <translation>Vrstica stanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Enabled</source>
         <comment>details (user interface/status-bar)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details (user interface/status-bar)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="-247"/>
         <source>Generic Driver, '%1' { %2 }</source>
         <comment>details (network)</comment>
         <translation>Splošni gonilnik, '%1' {%2}</translation>
@@ -1739,30 +2166,37 @@
 <context>
     <name>UIGMachinePreview</name>
     <message>
+        <location filename="../src/selector/graphics/details/UIGMachinePreview.cpp" line="+355"/>
         <source>Every 0.5 s</source>
         <translation>Vsakih 0,5 s</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Every 1 s</source>
         <translation>Vsako 1 s</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Every 2 s</source>
         <translation>Vsaki 2 s</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Every 5 s</source>
         <translation>Vsakih 5 s</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Every 10 s</source>
         <translation>Vsakih 10 s</translation>
     </message>
     <message>
+        <location line="-5"/>
         <source>Update disabled</source>
         <translation>Posodobitev onemogočena</translation>
     </message>
     <message>
+        <location line="-207"/>
         <source>No preview</source>
         <translation>Ni predogleda</translation>
     </message>
@@ -1770,61 +2204,75 @@
 <context>
     <name>UIGlobalSettingsDisplay</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsDisplay.ui" line="+24"/>
         <source>Maximum Guest Screen &Size:</source>
         <translation>&Največja velikost zaslona gosta:</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>&Width:</source>
         <translation>&Širina:</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>&Height:</source>
         <translation>&Višina:</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsDisplay.cpp" line="+181"/>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation>Samodejno</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Suggest a reasonable maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
         <translation>Gostu predlagaj razumno največjo velikost zaslona. Gost bo ta predlog videl le, ko so nameščni Dodatki za gosta.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>None</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Do not attempt to limit the size of the guest screen.</source>
         <translation>Ne poizkusi omejiti velikosti zaslona gosta.</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Hint</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation>Namig</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
         <translation>Gostu predlagaj največjo velikost zaslona. Gost bo ta predlog videl le, ko so nameščni Dodatki za gosta.</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsDisplay.ui" line="+26"/>
         <source>Machine Windows:</source>
         <translation>Okna računalnika:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>&Raise Window Under Mouse</source>
         <translation>P&ovišaj okno pod miško</translation>
     </message>
     <message>
+        <location line="-52"/>
         <source>Holds the maximum width which we would like the guest to use.</source>
         <translation>Vsebuje največjo širino, katero želimo, da bi uporabil gost.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Holds the maximum height which we would like the guest to use.</source>
         <translation>Vsebuje največjo višino, katero želimo, da bi uporabil gost.</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation>Ko je označeno, se bodo okna računalnika povišala, ko nad njih premaknete miško.</translation>
     </message>
@@ -1832,50 +2280,63 @@
 <context>
     <name>UIGlobalSettingsExtension</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsExtension.ui" line="+55"/>
         <source>Lists all installed packages.</source>
         <translation>Navede vse nameščene pakete.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Active</source>
         <translation>Dejavno</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Version</source>
         <translation>Različica</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsExtension.cpp" line="+339"/>
         <source>Select an extension package file</source>
         <translation>Izberite datoteko paketa razširitev</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Extension package files (%1)</source>
         <translation>Datoteke paketa razširitev (%1)</translation>
     </message>
     <message>
+        <location line="-130"/>
+        <location line="+217"/>
         <source>Extensions</source>
         <translation>Razširitve</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsExtension.ui" line="-48"/>
         <source>&Extension Packages</source>
         <translation>P&aketi razširitev</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsExtension.cpp" line="-138"/>
         <source>Add Package</source>
         <translation>Dodaj paket</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove Package</source>
         <translation>Odstrani paket</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new package.</source>
         <translation>Doda nov paket.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected package.</source>
         <translation>Odstrani izbran paket.</translation>
     </message>
@@ -1883,30 +2344,37 @@
 <context>
     <name>UIGlobalSettingsGeneral</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsGeneral.ui" line="+43"/>
         <source>Holds the path to the default virtual machine folder. This folder is used, if not explicitly specified otherwise, when creating new virtual machines.</source>
         <translation>Vsebuje pot privzete mape navideznega računalnika. Ta mapa se uporabi ob ustvarjanju novih navideznih računalnikov, če ni izrecno drugače navedeno.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Holds the path to the library that provides authentication for Remote Display (VRDP) clients.</source>
         <translation>Vsebuje pot do knjižnice, ki dobavi overitev za odjemalce oddaljnegea zaslona (VRDP).</translation>
     </message>
     <message>
+        <location line="-45"/>
         <source>Default &Machine Folder:</source>
         <translation>P&rivzeta mapa računlanika:</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>V&RDP Authentication Library:</source>
         <translation>&Knjižnica overitve VRDP:</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation>Ko je označeno, bo ohranjevalnik zaslona gostitelja med izvajanjem navideznega računalnika onemogočen.</translation>
     </message>
     <message>
+        <location line="-13"/>
         <source>Host Screensaver:</source>
         <translation>Ohranjevalnik zaslona gostitelja:</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>&Disable When Running Virtual Machines</source>
         <translation>&Onemogoči med izvajanjem navideznega računalnika</translation>
     </message>
@@ -1914,34 +2382,45 @@
 <context>
     <name>UIGlobalSettingsInput</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsInput.ui" line="+21"/>
         <source>When checked, the keyboard is automatically captured every time the VM window is activated. When the keyboard is captured, all keystrokes (including system ones like Alt-Tab) are directed to the VM.</source>
         <translation>Ko je označeno, se ob dejavnosti okna navideznega računalnika tipkovnica samodejno zajame. Ob tem se vsi pritiski tipk (vključno s sistemskimi, kot je Alt+Tab) preusmerijo v navidezni računalnik.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Auto Capture Keyboard</source>
         <translation>&Samodejno zajemi tipkovnico</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsInput.cpp" line="+119"/>
         <source>Host Key Combination</source>
         <translation>Kombinacija hitrih tipk</translation>
     </message>
     <message>
+        <location line="+76"/>
+        <location line="+10"/>
         <source>Some items have the same shortcuts assigned.</source>
         <translation>Nekateri predmeti imajo dodeljene enake bilžnjice.</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>&VirtualBox Manager</source>
         <translation>&Upravljalnik VirtualBox</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Virtual &Machine</source>
         <translation>&Navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+1"/>
         <source>Lists all available shortcuts which can be configured.</source>
         <translation>Navede vse razpoložljive bližnjice, ki jih je mogoče nastaviti.</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+1"/>
         <source>Holds a sequence to filter the shortcut list.</source>
         <translation>Vsebuje zaporedje za filtriranje seznama bližnjic.</translation>
     </message>
@@ -1949,54 +2428,67 @@
 <context>
     <name>UIGlobalSettingsLanguage</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsLanguage.cpp" line="+95"/>
+        <location line="+1"/>
         <source> (built-in)</source>
         <comment>Language</comment>
         <translation>(vgrajeno)</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source><unavailable></source>
         <comment>Language</comment>
         <translation><ni na voljo></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><unknown></source>
         <comment>Author(s)</comment>
         <translation><neznano></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Default</source>
         <comment>Language</comment>
         <translation>Privzeto</translation>
     </message>
     <message>
+        <location line="+242"/>
         <source>Language:</source>
         <translation>Jezik:</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsLanguage.ui" line="+34"/>
         <source>Lists all available user interface languages. The effective language is written in <b>bold</b>. Select <i>Default</i> to reset to the system default language.</source>
         <translation>Navede vse razpoložljive jezike uporabniškega vmesnika. Jezik v uporabi je napisan v <b>krepkem</b>. Izberite <i>Privzeto</i>, da ponastavite sistemski privzeti jezik.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Id</source>
         <translation>ID</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Language</source>
         <translation>Jezik</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Author</source>
         <translation>Avtor</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsLanguage.cpp" line="+2"/>
         <source>Author(s):</source>
         <translation>Avtor(ji):</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsLanguage.ui" line="-32"/>
         <source>&Interface Languages</source>
         <translation>&Jeziki vmesnika</translation>
     </message>
@@ -2004,354 +2496,448 @@
 <context>
     <name>UIGlobalSettingsNetwork</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.cpp" line="+322"/>
         <source>Adapter</source>
         <translation>Vmesnik</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Automatically configured</source>
         <comment>interface</comment>
         <translation>Samodejno nastavljeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Manually configured</source>
         <comment>interface</comment>
         <translation>Ročno nastavljeno</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>IPv4 Address</source>
         <translation>Naslov IPv4</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+10"/>
+        <location line="+18"/>
         <source>Not set</source>
         <comment>address</comment>
         <translation>Ni nastavljeno</translation>
     </message>
     <message>
+        <location line="-26"/>
         <source>IPv4 Network Mask</source>
         <translation>Maska omrežja IPv4</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+28"/>
         <source>Not set</source>
         <comment>mask</comment>
         <translation>Ni nastavljeno</translation>
     </message>
     <message>
+        <location line="-24"/>
         <source>IPv6 Address</source>
         <translation>Naslov IPv6</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>IPv6 Network Mask Length</source>
         <translation>Dolžina maske omrežja IPv6</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Not set</source>
         <comment>length</comment>
         <translation>Ni nastavljeno</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>DHCP Server</source>
         <translation>Strežnik DHCP</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Enabled</source>
         <comment>server</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>server</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Address</source>
         <translation>Naslov</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Network Mask</source>
         <translation>Maska omrežja</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Lower Bound</source>
         <translation>Spodnja omejitev</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+4"/>
         <source>Not set</source>
         <comment>bound</comment>
         <translation>Ni nastavljeno</translation>
     </message>
     <message>
+        <location line="-2"/>
         <source>Upper Bound</source>
         <translation>Zgornja omejitev</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.ui" line="+78"/>
         <source>Lists all available host-only networks.</source>
         <translation>Navede vsa razpoložljiva omrežja samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+7"/>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.cpp" line="+300"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.cpp" line="+138"/>
+        <location line="+52"/>
         <source>Networking</source>
         <translation>Omreženje</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.ui" line="-63"/>
         <source>&NAT Networks</source>
         <translation>Omrežja &NAT</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Lists all available NAT networks.</source>
         <translation>Navede vsa razpoložljiva omrežja NAT.</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>&Host-only Networks</source>
         <translation>Omrežja &samo za gostitelja</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetwork.cpp" line="-723"/>
         <source>No new name specified for the NAT network previously called <b>%1</b>.</source>
         <translation>Za omrežje NAT s prejšnjim imenom <b>%1</b> ni navedenega novega imena.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>No CIDR specified for the NAT network <b>%1</b>.</source>
         <translation>Za omrežje NAT <b>%1</b> ni navedenega CIDR-a.</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>No CIDR specified for the NAT network previously called <b>%1</b>.</source>
         <translation>Za omrežje NAT s prejšnjim menom <b>%1</b>  ni navedenega CIDR-a.</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Invalid CIDR specified (<i>%1</i>) for the NAT network <b>%2</b>.</source>
         <translation>Za omrežje NAT <b>%2</b>  ni navedenega CIDR-a (<i>%1</i>).</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Invalid CIDR specified (<i>%1</i>) for the NAT network previously called <b>%2</b>.</source>
         <translation>Za omrežje NAT s prejšnjim imenom <b>%2</b> ni navedenega CIDR-a (<i>%1</i>).</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Network Name</source>
         <translation>Ime omrežja</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>[empty]</source>
         <translation>[prazno]</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>%1 (renamed from %2)</source>
         <translation>%1 (preimenovano iz %2)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Old Network Name</source>
         <translation>Staro ime omrežja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>New Network Name</source>
         <translation>Novo ime omrežja</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Network CIDR</source>
         <translation>CIDR omrežja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Supports DHCP</source>
         <translation>Podpira DHCP</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
         <source>yes</source>
         <translation>Da</translation>
     </message>
     <message>
+        <location line="-4"/>
+        <location line="+2"/>
         <source>no</source>
         <translation>Ne</translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>Supports IPv6</source>
         <translation>Podpira IPv6</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Default IPv6 route</source>
         <translation>Privzeta pot OPv6</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavnega naslova IPv4.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavne maske omrežja IPv4.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavnega naslova IPv6.</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavnega naslova strežnika DHCP.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavne maske strežnika DHCP.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavne spodnje omejitve naslovov strežnika DHCP.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
         <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavne zgornje omejitve naslovov strežnika DHCP.</translation>
     </message>
     <message>
+        <location line="+313"/>
         <source>The name <b>%1</b> is being used for several NAT networks.</source>
         <translation>Ime <b>%1</b> se uporablja za več omrežij NAT.</translation>
     </message>
     <message>
+        <location line="+50"/>
         <source>Active</source>
         <comment>NAT network</comment>
         <translation>Dejavno</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Add NAT Network</source>
         <translation>Dodaj omrežje NAT</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove NAT Network</source>
         <translation>Odstrani omrežje NAT</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edit NAT Network</source>
         <translation>Uredi omrežje NAT</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new NAT network.</source>
         <translation>Doda novo omrežje NAT.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected NAT network.</source>
         <translation>Odstrani izbrano omrežje NAT.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edits selected NAT network.</source>
         <translation>Uredi izbrano omrežje NAT.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Add Host-only Network</source>
         <translation>Dodaj omrežje samo za gostitelja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove Host-only Network</source>
         <translation>Odstrani omrežje samo za gostitelja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edit Host-only Network</source>
         <translation>Uredi omrežje samo za gostitelja</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new host-only network.</source>
         <translation>Doda novo omrežje samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected host-only network.</source>
         <translation>Odstrani izbrano omrežje samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edits selected host-only network.</source>
         <translation>Uredi izbrano omrežje samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="-419"/>
         <source>Host interface <b>%1</b> does not currently have a valid IPv6 network mask prefix length.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vmesnik gostitelja <b>%1</b> trenutno nima veljavne dolžine predpone maske omrežja IPv6.</translation>
     </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsHost</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetworkDetailsHost.ui" line="+26"/>
         <source>Host-only Network Details</source>
         <translation>Podorobnosti omrežja samo za gostitelja</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>&Adapter</source>
         <translation>&Vmesnik</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Manual &Configuration</source>
         <translation>&Ročna nastavitev</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>&IPv4 Address:</source>
         <translation>Naslov IPv&4:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the host IPv4 address for this adapter.</source>
         <translation>Vsebuje naslov IPv4 gostitelja za ta vmesnik.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>IPv4 Network &Mask:</source>
         <translation>&Maska omrežja IPv4:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the host IPv4 network mask for this adapter.</source>
         <translation>Vsebuje masko omrežja IPv4 gostitelja za ta vmesnik.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>I&Pv6 Address:</source>
         <translation>Naslov IPv&6:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the host IPv6 address for this adapter if IPv6 is supported.</source>
         <translation>Vsebuje naslov IPv6 gostitelja za ta vmesnik, če je podprt.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>IPv6 Network Mask &Length:</source>
         <translation>&Dolžina maske omrežja IPv6:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the host IPv6 network mask prefix length for this adapter if IPv6 is supported.</source>
         <translation>Vsebuje dolžino predpone maske omrežja IPv6 gostitelja za ta vmesnik, če je IPv6 podprt.</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>&DHCP Server</source>
         <translation>Strežnik &DHCP</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&Enable Server</source>
         <translation>&Omogoči strežnik</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Server Add&ress:</source>
         <translation>&Naslov strežnika:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the address of the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Vsebuje naslov strežnika DHCP, ki je povezan s tem vmesnikom samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Server &Mask:</source>
         <translation>&Maska strežnika:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the network mask of the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Vsebuje masko omrežja strežnika DHCP, ki je povezan s tem vmesnikom samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&Lower Address Bound:</source>
         <translation>&Spodnja omejitev naslovov:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the lower address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Vsebuje spodnjo omejitev naslovov strežnika DHCP, ki je povezan s tem vmesnikom samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&Upper Address Bound:</source>
         <translation>&Zgornja omejitev naslovov:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Vsebuje zgornjo omejitev naslovov strežnika DHCP, ki je povezan s tem vmesnikom samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="-238"/>
         <source>When checked, manual configuration will be used for this network adapter.</source>
         <translation>Ko je označeno, bo za ta omrežni vmesnik uporabljena ročna nastavitev.</translation>
     </message>
     <message>
+        <location line="+134"/>
         <source>When checked, the DHCP Server will be enabled for this network on machine start-up.</source>
         <translation>Ko je označeno, bo ob zagonu računalnika za to omrežje omogočen strežnik DHCP.</translation>
     </message>
@@ -2359,66 +2945,82 @@
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui" line="+18"/>
         <source>NAT Network Details</source>
         <translation>Podrobnosti omrežja NAT</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&Enable Network</source>
         <translation>&Omogoči omrežje</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Network &Name:</source>
         <translation>I&me omrežja:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the name for this network.</source>
         <translation>Vsebuje ime tega omežja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Network &CIDR:</source>
         <translation>&CIDR omrežja:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the CIDR for this network.</source>
         <translation>Vsebuje CIDR tega omežja.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Network Options:</source>
         <translation>Možnosti omrežja:</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Supports &DHCP</source>
         <translation>Podpira &DHCP</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Supports &IPv6</source>
         <translation>Podpira IPv&6</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Advertise Default IPv6 &Route</source>
         <translation>&Oglašaj privzeto pot IPv6</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>&Port Forwarding</source>
         <translation>&Posredovanje vrat</translation>
     </message>
     <message>
+        <location line="-109"/>
         <source>When checked, this network will be enabled.</source>
         <translation>Ko je označeno, bo to omrežje omogočeno.</translation>
     </message>
     <message>
+        <location line="+79"/>
         <source>When checked, this network will support DHCP.</source>
         <translation>Ko je označeno, bo to omrežje podpiralo DHCP.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>When checked, this network will support IPv6.</source>
         <translation>Ko je označeno, bo to omrežje podpiralo IPv6.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>When checked, this network will be advertised as the default IPv6 route.</source>
         <translation>Ko je označeno, bo to omrežje oglaševano kot privzeta pot IPv6.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Displays a window to configure port forwarding rules.</source>
         <translation>Prikaže okno za nastavitev pravil posredovanja vrat.</translation>
     </message>
@@ -2426,14 +3028,17 @@
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsPortForwardingDlg.cpp" line="+112"/>
         <source>Port Forwarding Rules</source>
         <translation>Pravila posredovanja vrat</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>IPv4</source>
         <translation>IPv4</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>IPv6</source>
         <translation>IPv6</translation>
     </message>
@@ -2449,101 +3054,125 @@
         <translation type="obsolete">&Omogoči posredniški strežnik</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsProxy.ui" line="+82"/>
         <source>Ho&st:</source>
         <translation>&Gostitelj:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Port:</source>
         <translation>&Vrata:</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsProxy.cpp" line="+137"/>
         <source>No proxy host is currently specified.</source>
         <translation>Trenutno ni navedenih gostiteljev posredniškega strežnika.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>No proxy port is currently specified.</source>
         <translation>Trenutno ni navedenih vrat posredniškega strežnika.</translation>
     </message>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsProxy.ui" line="-7"/>
         <source>Holds the proxy host.</source>
         <translation>Vsebuje gostitelja posredniškega strežnika.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the proxy port.</source>
         <translation>Vsebuje vrata posredniškega strežnika.</translation>
     </message>
     <message>
+        <location line="-91"/>
         <source>When chosen, VirtualBox will try to auto-detect host proxy settings for tasks like downloading Guest Additions from the network or checking for updates.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ko je izbrano, bo VirtualBox za opravila, kot sta prejemanje Dodatkov za gosta iz omrežja ali preverjanje za posodobitve, poizkusil samodejno zaznati nastavitve posredniškega strežnika gostitelja.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Auto-detect Host Proxy Settings</source>
-        <translation type="unfinished"></translation>
+        <translation>&Samodejno zaznaj nastavitve posredniškega strežnika gostitelja</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>When chosen, VirtualBox will use direct Internet connection for tasks like downloading Guest Additions from the network or checking for updates.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ko je izbrano, bo VirtualBox za opravila, kot sta prejemanje Dodatkov za gosta iz omrežja ali preverjanje za posodobitve, uporabil neposredno internetno povezavo.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Direct Connection to the Internet</source>
-        <translation type="unfinished"></translation>
+        <translation>&Neposredna povezava z intenetom</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>When chosen, VirtualBox will use the proxy settings supplied for tasks like downloading Guest Additions from the network or checking for updates.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ko je označeno, bo VirtualBox za opravila, kot je prejemanje Dodatkov za gosta iz omrežja ali preverjanje za posodobitve, uporabil dobavljene nastavitve posredniškega strežnika.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Manual Proxy Configuration</source>
-        <translation type="unfinished"></translation>
+        <translation>&Ročne nastavitve posredniškega strežnika</translation>
     </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsUpdate.ui" line="+24"/>
         <source>When checked, the application will periodically connect to the VirtualBox website and check whether a new VirtualBox version is available.</source>
         <translation>Ko je označeno, se bo program občasno povezal na spletno mesto VirtualBox in preveril, ali je na voljo nova različica VirtualBoxa.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Check for Updates</source>
         <translation>Pr&everi za posodobitve</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>&Once per:</source>
         <translation>&Enkrat na:</translation>
     </message>
     <message>
+        <location line="+43"/>
         <source>Next Check:</source>
         <translation>Naslednje preverjanje:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Check for:</source>
         <translation>Preveri za:</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Choose this if you only wish to be notified about stable updates to VirtualBox.</p></source>
         <translation><p>Izberite to, če želite biti obveščeni samo o stabilnih posodobitvah VirtualBoxa.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Stable Release Versions</source>
         <translation>&različice stabilnih izdaj</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>Choose this if you wish to be notified about all new VirtualBox releases.</p></source>
         <translation><p>Izberite to, če želite biti obveščeni o vseh novih izdajah VirtualBoxa.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&All New Releases</source>
         <translation>&vse nove izdaje</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>Choose this to be notified about all new VirtualBox releases and pre-release versions of VirtualBox.</p></source>
         <translation><p>Izberite to, če želite biti obveščeni o vseh novih izdajah in preizdajnih različicah VirtualBoxa.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>All New Releases and &Pre-Releases</source>
         <translation>vse nove izdaje in p&redizdaje</translation>
     </message>
     <message>
+        <location line="-74"/>
         <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
         <translation>Izbere, kako pogosto naj se opravi preverjanje za nove različice. Upoštevajte, da če želite popolnoma onemogočiti to preverjanje, počistite zgornje označno polje.</translation>
     </message>
@@ -2551,6 +3180,7 @@
 <context>
     <name>UIHelpButton</name>
     <message>
+        <location filename="../src/widgets/UISpecialControls.cpp" line="+180"/>
         <source>&Help</source>
         <translation>&Pomoč</translation>
     </message>
@@ -2558,70 +3188,89 @@
 <context>
     <name>UIHostComboEditor</name>
     <message>
+        <location filename="../src/widgets/UIHostComboEditor.cpp" line="+209"/>
+        <location line="+14"/>
         <source><key_%1></source>
         <translation><key_%1></translation>
     </message>
     <message>
+        <location line="-74"/>
         <source>Left </source>
         <translation>Levo</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Right </source>
         <translation>Desno</translation>
     </message>
     <message>
+        <location line="+232"/>
         <source>Left Shift</source>
         <translation>Levi Shift</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Right Shift</source>
         <translation>Desni Shift</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Left Ctrl</source>
         <translation>Levi Ctrl</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Right Ctrl</source>
         <translation>Desni Ctrl</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Left Alt</source>
         <translation>Levi Alt</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Right Alt</source>
         <translation>Desni Alt</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Left WinKey</source>
         <translation>Leva tipka Win.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Right WinKey</source>
         <translation>Desna tipka Win.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Menu key</source>
         <translation>Tipka za meni</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Alt Gr</source>
         <translation>Alt Gr</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Caps Lock</source>
         <translation>Caps Lock</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Scroll Lock</source>
         <translation>Scroll Lock</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>Host+</source>
         <translation>Gostiteljska tipka + </translation>
     </message>
     <message>
+        <location line="+15"/>
+        <location line="+638"/>
         <source>None</source>
         <translation>Brez</translation>
     </message>
@@ -2629,10 +3278,13 @@
 <context>
     <name>UIHotKeyEditor</name>
     <message>
+        <location filename="../src/widgets/UIHotKeyEditor.cpp" line="+177"/>
         <source>Reset shortcut to default</source>
         <translation>Ponastavi bližnjico na privzeto</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIHostComboEditor.cpp" line="-549"/>
+        <location filename="../src/widgets/UIHotKeyEditor.cpp" line="+1"/>
         <source>Unset shortcut</source>
         <translation>Odstrani nastavitev bližnjice</translation>
     </message>
@@ -2640,10 +3292,12 @@
 <context>
     <name>UIHotKeyTableModel</name>
     <message>
+        <location filename="../src/settings/global/UIGlobalSettingsInput.cpp" line="+118"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Shortcut</source>
         <translation>Bližnjica</translation>
     </message>
@@ -2651,34 +3305,42 @@
 <context>
     <name>UIImportLicenseViewer</name>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportApp.cpp" line="+123"/>
         <source><b>The virtual system "%1" requires that you agree to the terms and conditions of the software license agreement shown below.</b><br /><br />Click <b>Agree</b> to continue or click <b>Disagree</b> to cancel the import.</source>
         <translation><b>Navidezni sistem "%1" zahteva, da se strinjate s spodnjimi pogoji sporazuma o dovoljenju za programsko opremo.</b><br /><br />Kliknite <b>Strinjam se</b>za nadaljevanje  ali <b>Ne strinjam se</b> za preklic uvoza.</translation>
     </message>
     <message>
+        <location line="-2"/>
         <source>Software License Agreement</source>
         <translation>Sporazum o dovoljenju za programsko opremo</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&Disagree</source>
         <translation>&Ne strinjam se</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Agree</source>
         <translation>&Se strinjam</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Print...</source>
         <translation>&Natisni …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Save...</source>
         <translation>&Shrani …</translation>
     </message>
     <message>
+        <location line="-28"/>
         <source>Text (*.txt)</source>
         <translation>Besedilo (*.txt)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Save license to file...</source>
         <translation>Shrani dovoljenje v datoteko …</translation>
     </message>
@@ -2686,96 +3348,117 @@
 <context>
     <name>UIIndicatorsPool</name>
     <message>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+383"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost omrežnih vmesnikov:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="+45"/>
         <source><br><nobr><b>Adapter %1 (%2)</b>: %3 cable %4</nobr></source>
         <comment>Network adapters tooltip</comment>
         <translation><br><nobr><b>Vmesnik %1 (%2)</b>: %3 kabel %4</nobr></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>connected</source>
         <comment>Network adapters tooltip</comment>
         <translation>Povezan</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>disconnected</source>
         <comment>Network adapters tooltip</comment>
         <translation>Prekinjen</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><br><nobr><b>All network adapters are disabled</b></nobr></source>
         <comment>Network adapters tooltip</comment>
         <translation><br><nobr><b>Vsi omrežni vmesniki so onemogočeni</b></nobr></translation>
     </message>
     <message>
+        <location line="+54"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the attached USB devices:</nobr>%1</p></source>
         <comment>USB device tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost priklopljenih naprav USB:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="+17"/>
         <source><br><nobr><b>No USB devices attached</b></nobr></source>
         <comment>USB device tooltip</comment>
         <translation><br><nobr><b>Ni priklopljenih naprav USB</b></nobr></translation>
     </message>
     <message>
+        <location line="+51"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the machine's shared folders:</nobr>%1</p></source>
         <comment>Shared folders tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost deljenih map računalnika:</nobr>%1</p></translation>
+        <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost souporabe map računalnika:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="+25"/>
         <source><br><nobr><b>No shared folders</b></nobr></source>
         <comment>Shared folders tooltip</comment>
-        <translation><br><nobr><b>Ni deljenih map</b></nobr></translation>
+        <translation><br><nobr><b>Ni souporabe map</b></nobr></translation>
     </message>
     <message>
+        <location line="+282"/>
+        <location line="+6"/>
         <source><br><nobr><b>%1:</b>&nbsp;%2</nobr></source>
         <comment>Virtualization Stuff LED</comment>
         <translation><br><nobr><b>%1:</b>&nbsp;%2</nobr></translation>
     </message>
     <message>
+        <location line="+56"/>
         <source>Indicates whether the host mouse pointer is captured by the guest OS:<br><nobr><img src=:/mouse_disabled_16px.png/>&nbsp;&nbsp;pointer is not captured</nobr><br><nobr><img src=:/mouse_16px.png/>&nbsp;&nbsp;pointer is captured</nobr><br><nobr><img src=:/mouse_seamless_16px.png/>&nbsp;&nbsp;mouse integration (MI) is On</nobr><br><nobr><img src=:/mouse_can_seamless_ [...]
         <translation>Nakazuje, ali je gostujoči operacijski sistem zajel kazalec miške:<br><nobr><img src=:/mouse_disabled_16px.png/>&nbsp;&nbsp;Kazalec ni zajet</nobr><br><nobr><img src=:/mouse_16px.png/>&nbsp;&nbsp;Kazalec je zajet</nobr><br><nobr><img src=:/mouse_seamless_16px.png/>&nbsp;&nbsp;Vključitev miške (MI) je vklopljena</nobr><br><nobr><img src=:/mouse_can_seamless_1 [...]
     </message>
     <message>
+        <location line="-170"/>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
-        <translation><nobr>Nakazuje dejavnost zajema video posnetka:</nobr><br>%1</translation>
+        <translation><nobr>Nakazuje dejavnost zajema videoposnetka:</nobr><br>%1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr><b>Video capture disabled</b></nobr></source>
-        <translation><nobr><b>Zajem video posnetkov onemogočen</b></nobr></translation>
+        <translation><nobr><b>Zajem videoposnetkov onemogočen</b></nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr><b>Video capture file:</b> %1</nobr></source>
-        <translation><nobr><b>Datoteka zajema video posnetka:</b> %1</nobr></translation>
+        <translation><nobr><b>Datoteka zajema videoposnetka:</b> %1</nobr></translation>
     </message>
     <message>
+        <location line="+83"/>
         <source>Additional feature status:<br><nobr><b>%1:</b>&nbsp;%2</nobr><br><nobr><b>%3:</b>&nbsp;%4</nobr><br><nobr><b>%5:</b>&nbsp;%6</nobr><br><nobr><b>%7:</b>&nbsp;%8%</nobr></source>
         <comment>Virtualization Stuff LED</comment>
         <translation>Stanje dodatnih značilnosti:<br><nobr><b>%1:</b>&nbsp;%2</nobr><br><nobr><b>%3:</b>&nbsp;%4</nobr><br><nobr><b>%5:</b>&nbsp;%6</nobr><br><nobr><b>%7:</b>&nbsp;%8%</nobr></translation>
     </message>
     <message>
+        <location line="-224"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the display:</nobr>%1</p></source>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost zaslona:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="-440"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the optical drives:</nobr>%1</p></source>
         <comment>CD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost optičnih pogonov:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="+77"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the floppy drives:</nobr>%1</p></source>
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost disketnih pogonov:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="-150"/>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Nakazuje dejavnost trdih diskov:</nobr>%1</p></translation>
     </message>
     <message>
+        <location line="+856"/>
         <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
         <translation>Nakazuje, ali je gostujoči operacijski sistem zajel tipkovnico gostitelja:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;Tipkovnica ni zajeta</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;Tipkovnica je zajeta</nobr></translation>
     </message>
@@ -2787,14 +3470,16 @@
         <translation type="obsolete">Zvok</translation>
     </message>
     <message>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+365"/>
         <source>Host Driver</source>
         <comment>details report (audio)</comment>
-        <translation type="unfinished">Gonilnik gostitelja</translation>
+        <translation>Gonilnik gostitelja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Controller</source>
         <comment>details report (audio)</comment>
-        <translation type="unfinished">Krmilnik</translation>
+        <translation>Krmilnik</translation>
     </message>
 </context>
 <context>
@@ -2805,59 +3490,70 @@
         <translation type="obsolete">Zaslon</translation>
     </message>
     <message>
+        <location line="-127"/>
         <source>Video Memory</source>
         <comment>details report</comment>
-        <translation type="unfinished">Grafični pomnilnik</translation>
+        <translation>Grafični pomnilnik</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Screens</source>
         <comment>details report</comment>
-        <translation type="unfinished">Zasloni</translation>
+        <translation>Zasloni</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enabled</source>
         <comment>details report (3D Acceleration)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (3D Acceleration)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>3D Acceleration</source>
         <comment>details report</comment>
-        <translation type="unfinished">Pospeševanje 3D</translation>
+        <translation>Pospeševanje 3D</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Enabled</source>
         <comment>details report (2D Video Acceleration)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (2D Video Acceleration)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>2D Video Acceleration</source>
         <comment>details report</comment>
-        <translation type="unfinished">Pospeševanje slike 2D</translation>
+        <translation>Grafično pospeševanje 2D</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Remote Desktop Server Port</source>
         <comment>details report (VRDE Server)</comment>
-        <translation type="unfinished">Vrata strežnika oddaljenega namizja</translation>
+        <translation>Vrata strežnika oddaljenega namizja</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Remote Desktop Server</source>
         <comment>details report (VRDE Server)</comment>
-        <translation type="unfinished">Strežnik oddaljenega namizja</translation>
+        <translation>Strežnik oddaljenega namizja</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>Disabled</source>
         <comment>details report (VRDE Server)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
 </context>
 <context>
@@ -2868,14 +3564,16 @@
         <translation type="obsolete">Splošno</translation>
     </message>
     <message>
+        <location line="-147"/>
         <source>Name</source>
         <comment>details report</comment>
-        <translation type="unfinished">Ime</translation>
+        <translation>Ime</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>OS Type</source>
         <comment>details report</comment>
-        <translation type="unfinished">Vrsta OS-a</translation>
+        <translation>Vrsta OS-a</translation>
     </message>
 </context>
 <context>
@@ -2885,45 +3583,53 @@
         <translation type="obsolete">Omrežje</translation>
     </message>
     <message>
+        <location line="+295"/>
         <source>Bridged adapter, %1</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Povezan vmesnik, %1</translation>
+        <translation>Povezan vmesnik, %1</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Internal network, '%1'</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Notranje omrežje, '%1'</translation>
+        <translation>Notranje omrežje, '%1'</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Host-only adapter, '%1'</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Vmesnik samo za gostitelja, '%1'</translation>
+        <translation>Vmesnik samo za gostitelja, '%1'</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Generic, '%1'</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Splošno, '%1'</translation>
+        <translation>Splošno, '%1'</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>NAT network, '%1'</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Omrežje NAT, '%1'</translation>
+        <translation>Omrežje NAT, '%1'</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Adapter %1</source>
         <comment>details report (network)</comment>
-        <translation type="unfinished">Vmesnik %1</translation>
+        <translation>Vmesnik %1</translation>
     </message>
 </context>
 <context>
     <name>UIInformationDataNetworkStatistics</name>
     <message>
+        <location line="+370"/>
         <source>Data Transmitted</source>
-        <translation type="unfinished">Poslani podatki</translation>
+        <translation>Poslani podatki</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Data Received</source>
-        <translation type="unfinished">Prejeti podatki</translation>
+        <translation>Prejeti podatki</translation>
     </message>
     <message>
         <source>Network Statistics</source>
@@ -2939,14 +3645,16 @@
         <translation type="obsolete">Vzporedna vrata</translation>
     </message>
     <message>
+        <location line="-275"/>
         <source>Port %1</source>
         <comment>details report (parallel ports)</comment>
-        <translation type="unfinished">Vrata %1</translation>
+        <translation>Vrata %1</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Disabled</source>
         <comment>details report (parallel ports)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
 </context>
 <context>
@@ -2957,69 +3665,83 @@
         <translation type="obsolete">Lastnosti izvajanja</translation>
     </message>
     <message>
+        <location line="+179"/>
         <source>Not Detected</source>
         <comment>guest additions</comment>
-        <translation type="unfinished">Ni zaznano</translation>
+        <translation>Ni zaznano</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Not Detected</source>
         <comment>guest os type</comment>
-        <translation type="unfinished">Ni zaznano</translation>
+        <translation>Ni zaznano</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Not Available</source>
         <comment>details report (VRDE server port)</comment>
-        <translation type="unfinished">Ni na voljo</translation>
+        <translation>Ni na voljo</translation>
     </message>
     <message>
+        <location line="+18"/>
         <source>Screen Resolution</source>
-        <translation type="unfinished">Ločljivost zaslona</translation>
+        <translation>Ločljivost zaslona</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>VM Uptime</source>
-        <translation type="unfinished">Skupni čas izvajanja nav. računalnika</translation>
+        <translation>Skupni čas izvajanja nav. računalnika</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Clipboard Mode</source>
-        <translation type="unfinished">Način odložišča</translation>
+        <translation>Način odložišča</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Drag and Drop Mode</source>
-        <translation type="unfinished">Način vlečenja in spuščanja</translation>
+        <translation>Način vlečenja in spuščanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>VT-x/AMD-V</source>
         <comment>details report</comment>
-        <translation type="unfinished">VT-x/AMD-V</translation>
+        <translation>VT-x/AMD-V</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Nested Paging</source>
         <comment>details report</comment>
-        <translation type="unfinished">Ugnezdeno odstranjevanje</translation>
+        <translation>Ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
-        <translation type="unfinished">Neomejeno izvajanje</translation>
+        <translation>Neomejeno izvajanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Paravirtualization Interface</source>
         <comment>details report</comment>
-        <translation type="unfinished">Vmesnik paranavideznosti</translation>
+        <translation>Vmesnik paranavideznosti</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest Additions</source>
-        <translation type="unfinished">Dodatki za gosta</translation>
+        <translation>Dodatki za gosta</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest OS Type</source>
         <comment>details report</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vrsta gostujočega OS-a</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remote Desktop Server Port</source>
         <comment>details report (VRDE Server)</comment>
-        <translation type="unfinished">Vrata strežnika oddaljenega namizja</translation>
+        <translation>Vrata strežnika oddaljenega namizja</translation>
     </message>
 </context>
 <context>
@@ -3029,9 +3751,10 @@
         <translation type="obsolete">Zaporedna vrata</translation>
     </message>
     <message>
+        <location line="-276"/>
         <source>Port %1</source>
         <comment>details report (serial ports)</comment>
-        <translation type="unfinished">Vrata %1</translation>
+        <translation>Vrata %1</translation>
     </message>
 </context>
 <context>
@@ -3042,9 +3765,10 @@
         <translation type="obsolete">Deljene mape</translation>
     </message>
     <message>
+        <location line="+129"/>
         <source>Shared Folders</source>
         <comment>details report (shared folders)</comment>
-        <translation type="unfinished">Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
 </context>
 <context>
@@ -3054,27 +3778,41 @@
         <translation type="obsolete">Pomnilnške naprave</translation>
     </message>
     <message>
+        <location line="-297"/>
         <source>(Optical Drive)</source>
-        <translation type="unfinished">(optični pogon)</translation>
+        <translation>(optični pogon)</translation>
     </message>
 </context>
 <context>
     <name>UIInformationDataStorageStatistics</name>
     <message>
+        <location line="+624"/>
+        <location line="+37"/>
         <source>DMA Transfers</source>
-        <translation type="unfinished">Prenosi DMA</translation>
+        <translation>Prenosi DMA</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>PIO Transfers</source>
-        <translation type="unfinished">Prenosi PIO</translation>
+        <translation>Prenosi PIO</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+35"/>
+        <location line="+27"/>
+        <location line="+25"/>
+        <location line="+25"/>
         <source>Data Read</source>
-        <translation type="unfinished">Prebrani podatki</translation>
+        <translation>Prebrani podatki</translation>
     </message>
     <message>
+        <location line="-110"/>
+        <location line="+35"/>
+        <location line="+27"/>
+        <location line="+25"/>
+        <location line="+25"/>
         <source>Data Written</source>
-        <translation type="unfinished">Zapisani podatki</translation>
+        <translation>Zapisani podatki</translation>
     </message>
     <message>
         <source>Storage Statistics</source>
@@ -3090,104 +3828,124 @@
         <translation type="obsolete">Sistem</translation>
     </message>
     <message>
+        <location line="-905"/>
         <source>Enabled</source>
         <comment>details report (ACPI)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (ACPI)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Enabled</source>
         <comment>details report (I/O APIC)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (I/O APIC)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Enabled</source>
         <comment>details report (PAE/NX)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (PAE/NX)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Base Memory</source>
         <comment>details report</comment>
-        <translation type="unfinished">Osnovni pomnilnik</translation>
+        <translation>Osnovni pomnilnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Processor(s)</source>
         <comment>details report</comment>
-        <translation type="unfinished">Procesor(ji)</translation>
+        <translation>Procesor(ji)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Execution Cap</source>
         <comment>details report</comment>
-        <translation type="unfinished">Omejitev izvajanja</translation>
+        <translation>Omejitev izvajanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Boot Order</source>
         <comment>details report</comment>
-        <translation type="unfinished">Vrstni red zagona</translation>
+        <translation>Vrstni red zagona</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>ACPI</source>
         <comment>details report</comment>
-        <translation type="unfinished">ACPI</translation>
+        <translation>ACPI</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>I/O APIC</source>
         <comment>details report</comment>
-        <translation type="unfinished">I/O APIC</translation>
+        <translation>I/O APIC</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>PAE/NX</source>
         <comment>details report</comment>
-        <translation type="unfinished">PAE/NX</translation>
+        <translation>PAE/NX</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Enabled</source>
         <comment>details report (VT-x/AMD-V)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (VT-x/AMD-V)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>VT-x/AMD-V</source>
         <comment>details report</comment>
-        <translation type="unfinished">VT-x/AMD-V</translation>
+        <translation>VT-x/AMD-V</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enabled</source>
         <comment>details report (Nested Paging)</comment>
-        <translation type="unfinished">Omogočeno</translation>
+        <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (Nested Paging)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Nested Paging</source>
         <comment>details report</comment>
-        <translation type="unfinished">Ugnezdeno odstranjevanje</translation>
+        <translation>Ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Paravirtualization Interface</source>
         <comment>details report</comment>
-        <translation type="unfinished">Vmesnik paranavideznosti</translation>
+        <translation>Vmesnik paranavideznosti</translation>
     </message>
 </context>
 <context>
@@ -3198,24 +3956,28 @@
         <translation type="obsolete">USB</translation>
     </message>
     <message>
+        <location line="+360"/>
         <source>Disabled</source>
         <comment>details report (USB)</comment>
-        <translation type="unfinished">Onemogočeno</translation>
+        <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Device Filters</source>
         <comment>details report (USB)</comment>
-        <translation type="unfinished">Filtri naprav</translation>
+        <translation>Filtri naprav</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>%1 (%2 active)</source>
         <comment>details report (USB)</comment>
-        <translation type="unfinished">%1 (%2 dejavnih)</translation>
+        <translation>%1 (%2 dejavnih)</translation>
     </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
     <message>
+        <location filename="../src/widgets/UILineTextEdit.cpp" line="+118"/>
         <source>&Edit</source>
         <translation>&Uredi</translation>
     </message>
@@ -3223,6 +3985,7 @@
 <context>
     <name>UIMachineLogic</name>
     <message>
+        <location filename="../src/runtime/UIMachineLogic.cpp" line="-694"/>
         <source>Select a filename for the screenshot ...</source>
         <translation>Izberite ime datoteke za zaslonsko sliko …</translation>
     </message>
@@ -3230,26 +3993,32 @@
 <context>
     <name>UIMachineSettingsAudio</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsAudio.ui" line="+24"/>
         <source>When checked, a virtual PCI audio card will be plugged into the virtual machine and will communicate with the host audio system using the specified driver.</source>
         <translation>Ko je označeno, bo v navidezni računalnik priklopljena navidezna zvočna kartica PCI in bo z zvočnim sistemom gostitelja komunicirala preko navedenega gonilnika.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &Audio</source>
         <translation>Omogoči &zvok</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Host Audio &Driver:</source>
         <translation>&Zvočni gonilnik gostitelja:</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Audio &Controller:</source>
         <translation>&Krmilnik zvoka:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Izbere vrsto navidezne zvočne kartice. Odvisno od te vrednosti bo VirtualBox dobavil različno zvočno strojno opremo v navdezni računalnik.</translation>
     </message>
     <message>
+        <location line="-26"/>
         <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
         <translation>Izbere izhodni zvočni gonilnik. <b>Nični zvočni gonilnik</b> povzroči, da bo gost videl zvočno kartico, vendar bo vsak dostop do nje prezrt.</translation>
     </message>
@@ -3257,369 +4026,467 @@
 <context>
     <name>UIMachineSettingsDisplay</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.ui" line="+39"/>
         <source>Video &Memory:</source>
         <translation>&Grafični pomnilnik:</translation>
     </message>
     <message>
+        <location line="+18"/>
+        <location line="+31"/>
         <source>Controls the amount of video memory provided to the virtual machine.</source>
         <translation>Nadzira količino grafičnega pomnilnika, ki se ga dobavi navideznemu računalniku.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="+488"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.ui" line="+305"/>
         <source>Extended Features:</source>
         <translation>Razširjene značilnosti:</translation>
     </message>
     <message>
+        <location line="-144"/>
         <source>When checked, the virtual machine will be given access to the 3D graphics capabilities available on the host.</source>
         <translation>Ko je označeno, bo navidezni računalnik dobil dostop do zmogljivosti grafike 3D, ki je na voljo na gostitelju.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &3D Acceleration</source>
         <translation>Omogoči pospeševanje &3D</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>&Remote Display</source>
         <translation>&Oddaljen zaslon</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>When checked, the VM will act as a Remote Desktop Protocol (RDP) server, allowing remote clients to connect and operate the VM (when it is running) using a standard RDP client.</source>
         <translation>Ko je označeno, se bo navidezni računlanik vedel kot strežnik protokola oddaljenega namizja (RDP), ki oddaljenim odjemalcem dovoli povezavo in upravljanje z navideznim računalnikom (ko se izvaja) z uporabo standardnega odjemalca RDP.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Enable Server</source>
         <translation>&Omogoči strežnik</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Server &Port:</source>
         <translation>&Vrata strežnika:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Authentication &Method:</source>
         <translation>&Način overitve:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Authentication &Timeout:</source>
         <translation>&Časovna omejitev overitve:</translation>
     </message>
     <message>
+        <location line="-108"/>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
-        <translation>Ko je označeno, bo navidezni računalnik dobil dostop  do zmogljivosti pospeševanja slike, ki je na voljo na gostitelju.</translation>
+        <translation>Ko je označeno, bo navidezni računalnik dobil dostop do zmogljivosti grafičnega pospeševanja, ki je na voljo na gostitelju.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &2D Video Acceleration</source>
-        <translation>Omogoči pospeševanje slike &2D</translation>
+        <translation>Omogoči grafično pospeševanje &2D</translation>
     </message>
     <message>
+        <location line="-173"/>
         <source>Mo&nitor Count:</source>
         <translation>&Število zaslonov:</translation>
     </message>
     <message>
+        <location line="+18"/>
+        <location line="+31"/>
         <source>Controls the amount of virtual monitors provided to the virtual machine.</source>
         <translation>Nadzira količino navideznih zaslonov, ki jih dobavi navidezni računalnik.</translation>
     </message>
     <message>
+        <location line="+268"/>
         <source>&Allow Multiple Connections</source>
         <translation>&Dovoli več povezav</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>Video &Capture</source>
-        <translation>&Zajem video posnetkov</translation>
+        <translation>&Zajem videoposnetkov</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>When checked, VirtualBox will record the virtual machine session as a video file.</source>
-        <translation>Ko je označeno, bo VirtualBox posnel sejo navideznega računalnika kot datoteko video posnetka.</translation>
+        <translation>Ko je označeno, bo VirtualBox posnel sejo navideznega računalnika kot datoteko videoposnetka.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Enable Video Capture</source>
-        <translation>&Omogoči zajem video posnetkov</translation>
+        <translation>&Omogoči zajem videoposnetkov</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>File &Path:</source>
         <translation>&Pot datoteke:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Frame &Size:</source>
         <translation>&Velikost sličic:</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>&Frame Rate:</source>
         <translation>&Hitrost sličic:</translation>
     </message>
     <message>
+        <location line="+58"/>
         <source>&Quality:</source>
         <translation>&Kakovost:</translation>
     </message>
     <message>
+        <location line="+77"/>
         <source>&Screens:</source>
         <translation>&Zasloni:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="-146"/>
         <source>The virtual machine is set up to use hardware graphics acceleration. However the host system does not currently provide this, so you will not be able to start the machine.</source>
         <translation>Navidezni računalnik je nastavljen za uporabo strojnega grafičnega poseševanja. Vendar gostiteljski sistem tega trenutno ne ponuja, tako da ne boste mogli zagnati računalnka.</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
-        <translation>Navideznemu računalniku je trenutno dodeljeno manj kot <b>%1</b> grafičnega pomnilnika, kar je najmanjša količina zahtevana za učinkovito predvajanje video posnetkov v visoki ločljivosti.</translation>
+        <translation>Navideznemu računalniku je trenutno dodeljeno manj kot <b>%1</b> grafičnega pomnilnika, kar je najmanjša količina zahtevana za učinkovito predvajanje videoposnetkov v visoki ločljivosti.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>The virtual machine is set up to use Video Stream Acceleration. As this feature only works with Windows guest systems it will be disabled.</source>
         <translation>Navidezni računalnik je nastavljen za uporabo pospeševanja slikovnega pretoka. Ker ta značilnost deluje samo z gostujčimi sistemi Windows, bo onemogočena.</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>The VRDE server port value is not currently specified.</source>
         <translation>Vrednost vrat strežnika VRDE trenutno ni navedena.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>The VRDE authentication timeout value is not currently specified.</source>
         <translation>Vrednost časovne omejitve overitve VRDE trenutno ni navedena.</translation>
     </message>
     <message>
+        <location line="+73"/>
         <source>User Defined</source>
         <translation>Uporabniško določeno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+1"/>
         <source>%1 fps</source>
         <translation>%1 sl./s</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>fps</source>
         <translation>sl./s</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>low</source>
         <comment>quality</comment>
         <translation>Nizka</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>medium</source>
         <comment>quality</comment>
         <translation>Srednja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>high</source>
         <comment>quality</comment>
         <translation>Visoka</translation>
     </message>
     <message>
+        <location line="-6"/>
         <source>kbps</source>
         <translation>kb/s</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIFilmContainer.cpp" line="+147"/>
         <source>Screen %1</source>
         <translation>Zaslon %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="+516"/>
         <source><i>About %1MB per 5 minute video</i></source>
-        <translation><i>Okoli %1 MB na 5 min. video posnetka</i></translation>
+        <translation><i>Okoli %1 MB na 5 min. videoposnetka</i></translation>
     </message>
     <message>
+        <location line="-606"/>
         <source>Remote Display is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site as otherwise your VM will be started with Remote Display disabled.</source>
         <translation>Oddaljeni zaslon je trenutno omogočen za ta navidezni računalnik. Vendar to zahteva namestitev <i>%1</i>. Namestite paket razširitev z mesta za prejem VirtualBox ali pa se bo vaš navidezni računalnik zaganal z onemogočenim oddaljenim zaslonom.</translation>
     </message>
     <message>
+        <location line="-34"/>
         <source>The virtual machine is set up to use hardware graphics acceleration and the operating system hint is set to Windows Vista or later. For best performance you should set the machine's video memory to at least <b>%1</b>.</source>
-        <translation>Navidezni računalnik je nastavljen za uporabo strojnega grafičnega poseševanja in namig operacijskega sistema je nastavljen na Windows Vista ali kasnejši. Za najboljšo zmogljivost morate grafični pomnilnik računalnika nastaviti na najmanj <b>%1</b>.</translation>
+        <translation>Navidezni računalnik je nastavljen za uporabo strojnega grafičnega poseševanja in namig operacijskega sistema je nastavljen na Windows Vista ali starejši. Za najboljšo zmogljivost morate grafični pomnilnik računalnika nastaviti na najmanj <b>%1</b>.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.ui" line="-648"/>
         <source>&Screen</source>
         <translation>&Zaslon</translation>
     </message>
     <message>
+        <location line="+121"/>
         <source>Scale Factor:</source>
         <translation>Faktor umerjanja:</translation>
     </message>
     <message>
+        <location line="+15"/>
+        <location line="+31"/>
         <source>Controls the guest screen scale factor.</source>
         <translation>Nadzira faktor umerjanja zaslona gosta.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation>Ko je označeno, vsebina zaslona gosta ne bo umerjena, da se prilagodi visokim ločljivostim zaslona gostitelja.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Use &Unscaled HiDPI Output</source>
         <translation>Uporabi &neumerjen izhod HiDPI</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Acceleration:</source>
         <translation>Pospeševanje:</translation>
     </message>
     <message>
+        <location line="-26"/>
         <source>HiDPI Support:</source>
         <translation>Podpora za HiDPI:</translation>
     </message>
     <message>
+        <location line="+139"/>
         <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translation>Vsebuje število vrat strežnika VRDP. Lahko navedete <tt>0</tt> (nič), da izberete vrata 3389, standardna vrata za RDP.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Selects the VRDP authentication method.</source>
         <translation>Izbere način overitve VRDP.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the timeout for guest authentication, in milliseconds.</source>
         <translation>Vsebuje časovno omejitev za overitev gosta v milisekundah.</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
         <translation>Ko je označeno, je dovoljenih več sočasnih povezav z navideznim računalnikom.</translation>
     </message>
     <message>
+        <location line="+87"/>
         <source>Holds the filename VirtualBox uses to save the recorded content.</source>
         <translation>Vsebuje ime datoteke, ki jo  VirtualBox uporablja za shranjevanje posnete vsebine.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Selects the resolution (frame size) of the recorded video.</source>
-        <translation>Izbere ločljivost (velikost sličic) video posnetka.</translation>
+        <translation>Izbere ločljivost (velikost sličic) videoposnetka.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Vsebuje <b>vodoravno</b>ločljivost (širino sličic) video posnetka.</translation>
+        <translation>Vsebuje <b>vodoravno</b>ločljivost (širino sličic) videoposnetka.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Vsebuje <b>navpično</b>ločljivost (višino sličic) video posnetka.</translation>
+        <translation>Vsebuje <b>navpično</b>ločljivost (višino sličic) videoposnetka.</translation>
     </message>
     <message>
+        <location line="+26"/>
+        <location line="+32"/>
         <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
         <translation>Nadzira največje število <b>sličic na sekundo</b>. Dodane sličice bodo preskočene. Zmanjšanje te vrednosti bo povečalo število preskočenih sličic in zmanjšalo velikost datoteke.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Nadzira <b>kakovost</b>. Povečanje te vrednosti bo izboljšalo videz video posnetka na račun povečane velikosti datoteke.</translation>
+        <translation>Nadzira <b>kakovost</b>. Povečanje te vrednosti bo izboljšalo videz videoposnetka na račun povečane velikosti datoteke.</translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Vsebuje bitno hitrost v <b>kilobitih na sekundo</b>. Povečanje te vrednosti bo izboljšalo videz video posnetka na račun povečanja velikosti datoteke.</translation>
+        <translation>Vsebuje bitno hitrost v <b>kilobitih na sekundo</b>. Povečanje te vrednosti bo izboljšalo videz videoposnetka na račun povečanja velikosti datoteke.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsDisplay.cpp" line="-24"/>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
         <translation>Navideznemu računalniku je trenutno dodeljeno manj kot <b>%1</b> grafičnega pomnilnika, kar je najmanjša količina zahtevana za preklop na celozaslonski ali tekoči način.</translation>
     </message>
     <message>
+        <location line="+134"/>
+        <location line="+1"/>
+        <location line="+480"/>
         <source>%1 MB</source>
         <translation>%1 MB</translation>
     </message>
     <message>
+        <location line="-477"/>
+        <location line="+1"/>
         <source>%1%</source>
         <translation>%1%</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIFilmContainer.cpp" line="+1"/>
         <source>When checked, enables video recording for screen %1.</source>
-        <translation>Ko je označeno, omogoči snemanje video posnetkov za zaslon %1.</translation>
+        <translation>Ko je označeno, omogoči snemanje videoposnetkov za zaslon %1.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.ui" line="+33"/>
         <source>Basi&c</source>
         <translation>&Osnovno</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>A&dvanced</source>
         <translation>&Napredno</translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>&Shared Clipboard:</source>
-        <translation>&Deljeno odložišče:</translation>
+        <translation>&Souporaba odložišča:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Selects which clipboard data will be copied between the guest and the host OS. This feature requires Guest Additions to be installed in the guest OS.</source>
         <translation>Izbere, kateri podatki odložišča bodo kopirani med gostom in gostiteljem. Ta značilnost zahteva namestitev Dodatkov za gosta na gostujočem OS-u.</translation>
     </message>
     <message>
+        <location line="-42"/>
         <source>S&napshot Folder:</source>
         <translation>&Mapa posnetkov stanja:</translation>
     </message>
     <message>
+        <location line="+118"/>
         <source>D&escription</source>
         <translation>&Opis</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Holds the description of the virtual machine. The description field is useful for commenting on configuration details of the installed guest OS.</source>
         <translation>Vsebuje opis navideznega računalnika. Polje opisa je uporabno za pripombe o podrobnostih nastavitev nameščenega gostujočega OS-a.</translation>
     </message>
     <message>
+        <location line="-65"/>
         <source>D&rag'n'Drop:</source>
         <translation>&Povleci in spusti:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Selects which data will be copied between the guest and the host OS by drag'n'drop. This feature requires Guest Additions to be installed in the guest OS.</source>
         <translation>Izbere, kateri podatki bodo kopirani med gostom in gostiteljem z vlečenjem in spuščanjem. Ta značilnost zahteva namestitev Dodatkov za gosta na gostujočem OS-u.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.cpp" line="+381"/>
         <source>No name specified for the virtual machine.</source>
         <translation>Ni navedenega imena za navidezni računalnik.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>The virtual machine operating system hint is set to a 64-bit type. 64-bit guest systems require hardware virtualization, so this will be enabled automatically if you confirm the changes.</source>
         <translation>Namig operacijskega sistema navideznega računalnika je nastavljen na 64-bitni. 64-bitni gostujoči sistemi zahtevajo strojno navideznost, tako da bo to samodejno omogočeno, če potrdite spremembe.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.ui" line="+57"/>
         <source>Enc&ryption</source>
         <translation>&Šifriranje</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>When checked, enables encryption for this virtual machine.</source>
         <translation>Ko je označeno, omogoči šifriranje za ta navidezni računalnik.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>En&able Encryption</source>
         <translation>&Omogoči šifriranje</translation>
     </message>
     <message>
+        <location line="+44"/>
         <source>Encryption C&ipher:</source>
         <translation>&Šifra:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>E&nter New Password:</source>
         <translation>&Vnesite novo geslo:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the password to be assigned to the virtual machine.</source>
         <translation>Vsebuje geslo za dodelitev navideznemu računalniku.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>C&onfirm New Password:</source>
         <translation>&Potrdite novo geslo:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Confirms the password to be assigned to the virtual machine.</source>
         <translation>Potrdi geslo za dodelitev navideznemu računalniku.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.cpp" line="+22"/>
         <source>You are trying to encrypt this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site.</source>
         <translation>Poizkušate šifrirati ta navidezni računalnik. Vendar to zahteva namestitev <i>%1</i>. Namestite paket razširitev iz mesta za prejem VirtualBox.</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Encryption cipher type not specified.</source>
         <translation>Vrsta šifre ni navedena.</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Encryption password empty.</source>
         <translation>Geslo šifriranja je prazno.</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Encryption passwords do not match.</source>
         <translation>Gesli šifriranja se ne ujemata.</translation>
     </message>
     <message>
+        <location line="+61"/>
         <source>Leave Unchanged</source>
         <comment>cipher type</comment>
         <translation>Pusti nespremenjeno</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.ui" line="-40"/>
         <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
         <translation>Izbere šifro, ki naj se uporabi za šifriranje diskov navideznega računalnika.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsGeneral.cpp" line="-18"/>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
         <translation>Vsebuje pot, kjer so shranjeni posnetki stanja tega navideznega računalnika. Upoštevajte, da posnetki stanja lahko zasedejo veliko prostora.</translation>
     </message>
@@ -3627,30 +4494,37 @@
 <context>
     <name>UIMachineSettingsInterface</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsInterface.ui" line="+35"/>
         <source>Allows to modify VM menu-bar contents.</source>
         <translation>Dovoli spreminjanje vsebine menijske vrstice navideznega računalnika.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Mini ToolBar:</source>
         <translation>Mini orodna vrstica:</translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>Show at &Top of Screen</source>
         <translation>Prikaži na &vrhu zaslona</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Allows to modify VM status-bar contents.</source>
         <translation>Dovoli spreminjanje vsebine vrstice stanja navideznega računalnika.</translation>
     </message>
     <message>
+        <location line="-51"/>
         <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
         <translation>Ko je označeno, prikaži mini orodno vrstico v celozaslonskem in tekočem načinu.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Show in &Full-screen/Seamless</source>
         <translation>Prikaži v &celozaslonskem/tekočem načinu</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation>Ko je označeno, raje prikaži mini orodno vrstico na vrhu zaslona, kot na njenem privzetem položaju na dnu zaslona.</translation>
     </message>
@@ -3658,135 +4532,169 @@
 <context>
     <name>UIMachineSettingsNetwork</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.ui" line="+29"/>
         <source>When checked, plugs this virtual network adapter into the virtual machine.</source>
         <translation>Ko je označeno, bo v navidezni računalnik priklopljen ta omrežni vmesnik.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Enable Network Adapter</source>
         <translation>&Omogoči omrežni vmesnik</translation>
     </message>
     <message>
+        <location line="+127"/>
         <source>Selects the type of the virtual network adapter. Depending on this value, VirtualBox will provide different network hardware to the virtual machine.</source>
         <translation>Izbere vrsto navideznega omrežnega vmesnika. Odvisno od te vrednosti bo VirtualBox dobavil različno omrežno strojno opremo v navdezni računalnik.</translation>
     </message>
     <message>
+        <location line="-98"/>
         <source>&Attached to:</source>
         <translation>&Priklopljen v:</translation>
     </message>
     <message>
+        <location line="+79"/>
         <source>Adapter &Type:</source>
         <translation>&Vrsta vmesnika:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.cpp" line="+738"/>
+        <location line="+2"/>
         <source>Not selected</source>
         <comment>network adapter name</comment>
         <translation>Ni izbrano</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.ui" line="-53"/>
         <source>&Name:</source>
         <translation>I&me:</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>A&dvanced</source>
         <translation>&Napredno</translation>
     </message>
     <message>
+        <location line="+83"/>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
         <translation>Vsebuje naslov MAC tega vmesnika. Vsebuje natanko 12 znakov, izbanih iz {0-9,A-F}. Upoštevajte, da mora biti drug znak sodo število.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Generates a new random MAC address.</source>
         <translation>Ustvari nov naključni naslov MAC.</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>&Cable Connected</source>
         <translation>&Kabel povezan</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&Port Forwarding</source>
         <translation>&Posredovanje vrat</translation>
     </message>
     <message>
+        <location line="-89"/>
         <source>&Promiscuous Mode:</source>
         <translation>&Pomešan način:</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Selects the promiscuous mode policy of the network adapter when attached to an internal network, host only network or a bridge.</source>
         <translation>Izbere pravilnik pomešanega načina omrežnega vmesnika, ko je priklopljen na notranje omrežje, omrežje samo za gostitelja ali most.</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>Generic Properties:</source>
         <translation>Splošne lastnosti:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.cpp" line="-301"/>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation>Izbere omrežni vmesnik na gostiteljskem sistemu, skozi katerega bo potekal promet tega omrežja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Holds the name of the internal network that this network card will be connected to. You can create a new internal network by choosing a name which is not used by any other network cards in this virtual machine or others.</source>
         <translation>Vsebuje ime notranjega omrežja, v katerega bo povezana ta omrežna kartica. Ustvarite lahko novo notranje omrežje z izbiro imena, ki ga ne uporabljajo druge omrežne kartice v tem navideznem računalniku ali drugih.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Selects the virtual network adapter on the host system that traffic to and from this network card will go through. You can create and remove adapters using the global network settings in the virtual machine manager window.</source>
         <translation>Izbere navidezni omrežni vmesnik na gostiteljskem sistemu, skozi katerega po potekal promet tega omrežja. Vmesnike lahko ustvarite ali odstranite z uporabo splošnih omrežnih nastavitev v oknu Upravljalnika navideznih računalnikov.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Selects the driver to be used with this network card.</source>
         <translation>Izbere gonilnik, ki naj se uporabi s to omrežno kartico.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.ui" line="-33"/>
         <source>&MAC Address:</source>
         <translation>Naslov &MAC:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.cpp" line="-259"/>
         <source>No bridged network adapter is currently selected.</source>
         <translation>Trenutno ni izbranega povezanega omrežnega vmesnika.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>No internal network name is currently specified.</source>
         <translation>Trenutno ni navedenega imena notranjega omrežja.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>No host-only network adapter is currently selected.</source>
         <translation>Trenutno ni izbranega omrežnega vmesnika samo za gostitelja.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>No generic driver is currently selected.</source>
         <translation>Trenutno ni izbranega splošnega gonilnika.</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>The MAC address must be 12 hexadecimal digits long.</source>
         <translation>Naslov MAC mora biti dolg 12 šestnajstiških številk.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
         <translation>Drug številka naslova MAC ne sme biti liho število, ker so dovoljeni samo naslovi unicast.</translation>
     </message>
     <message>
+        <location line="-22"/>
         <source>No NAT network name is currently specified.</source>
         <translation>Trenutno ni navedenega imena omrežja NAT.</translation>
     </message>
     <message>
+        <location line="+229"/>
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Vsebuje ime omrežja NAT, v katerega bo povezana ta omrežna kartica. Omrežja lahko ustvarite ali odstranite z uporabo splošnih omrežnih nastavitev v oknu Upravljalnika navideznih računalnikov.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.ui" line="-112"/>
         <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
         <translation>Izbere, kako je ta navidezni vmesnik priklopljen v resnično omrežje gostiteljskega OS-a.</translation>
     </message>
     <message>
+        <location line="+51"/>
         <source>Shows additional network adapter options.</source>
         <translation>Prikaže dodatne možnosti omrežnega vmesnika.</translation>
     </message>
     <message>
+        <location line="+104"/>
         <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
         <translation>Vsebuje nastavitve za gonilnik priklopa na omrežje. Nastavitve morajo biti v obliki <b>ime=vrednost</b> in bodo odvisne od gonilnika. Uporabite <b>shift+enter</b>, da dodate nov vnos.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>When checked, the virtual network cable is plugged in.</source>
         <translation>Ko je označeno, je kabel navideznega omrežja priklopljen.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Displays a window to configure port forwarding rules.</source>
         <translation>Prikaže okno za nastavitev pravil posredovanja vrat.</translation>
     </message>
@@ -3794,67 +4702,83 @@
 <context>
     <name>UIMachineSettingsParallel</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsParallel.cpp" line="+135"/>
         <source>Port %1</source>
         <comment>parallel ports</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsParallel.ui" line="+29"/>
         <source>When checked, enables the given parallel port of the virtual machine.</source>
         <translation>Ko je označeno, omogoči dana vzporedna vrata navideznega računlanika.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Enable Parallel Port</source>
         <translation>&Omogoči vzporedna vrata</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>Port &Number:</source>
         <translation>&Število vrat:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the parallel port number. You can choose one of the standard parallel ports or select <b>User-defined</b> and specify port parameters manually.</source>
         <translation>Vsebuje število vzporednih vrat. Izberete lahko eno od standardnih vzporednih vrat ali izberete <b>uporabniško določena</b> in ročno navedete parametre vrat.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&IRQ:</source>
         <translation>&IRQ:</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>I/O Po&rt:</source>
         <translation>&Vrata I/O:</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Port &Path:</source>
         <translation>&Pot vrat:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the host parallel device name.</source>
         <translation>Vsebuje ime vzporedne naprave gostitelja.</translation>
     </message>
     <message>
+        <location line="-43"/>
         <source>Holds the IRQ number of this parallel port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
         <translation>Vsebuje število IRQ teh vzporednih vrat. To mora biti celo število med <tt>0</tt> in <tt>255</tt>. Vrednosti večje od <tt>15</tt> lahko uporabite samo, če je za ta navidezni računalnik omogočena nastavitev <b>I/O APIC</b>.</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Vsebuje osnovni naslov vrat I/O.teh vzporednih vrat. Veljavne vrednosti so cela števila v območju od<tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsParallel.cpp" line="+227"/>
         <source>No IRQ is currently specified.</source>
         <translation>Trenutno ni navedenega IRQ-ja.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>No I/O port is currently specified.</source>
         <translation>Trenutno ni navedenih vrat I/O.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Two or more ports have the same settings.</source>
         <translation>Dvoje ali več vrat ima enake nastavitve.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>No port path is currently specified.</source>
         <translation>Trenutno ni navedene poti vrat.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>There are currently duplicate port paths specified.</source>
         <translation>Trenutno so navedene podvojene poti vrat.</translation>
     </message>
@@ -3862,6 +4786,7 @@
 <context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsPortForwardingDlg.cpp" line="+95"/>
         <source>Port Forwarding Rules</source>
         <translation>Pravila posredovanja vrat</translation>
     </message>
@@ -3869,201 +4794,249 @@
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSF.cpp" line="+690"/>
         <source> Machine Folders</source>
         <translation>Mape računalnika</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source> Transient Folders</source>
         <translation>Prehodne mape</translation>
     </message>
     <message>
+        <location line="-264"/>
         <source>Full</source>
         <translation>Poln</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Read-only</source>
         <translation>Samo za branje</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSF.ui" line="+69"/>
         <source>Lists all shared folders accessible to this machine. Use 'net use x: \\vboxsvr\share' to access a shared folder named <i>share</i> from a DOS-like OS, or 'mount -t vboxsf share mount_point' to access it from a Linux OS. This feature requires Guest Additions.</source>
-        <translation>Navede vse deljene mape, ki so dostopne temu računalniku. Za dostop do deljenih map z imenom <i>share</i> uporabite 'net use x: \\vboxsvr\share' iz OS-a vrste DOS ali 'mount -t vboxsf share mount_point' iz OS-a Linux. Ta značilnost zahteva Dodatke za gosta.</translation>
+        <translation>Navede vse mape v souporabi, ki so dostopne temu računalniku. Za dostop do map v souporabi z imenom <i>share</i> uporabite 'net use x: \\vboxsvr\share' iz OS-a vrste DOS ali 'mount -t vboxsf share mount_point' iz OS-a Linux. Ta značilnost zahteva Dodatke za gosta.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Path</source>
         <translation>Pot</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Access</source>
         <translation>Dostop</translation>
     </message>
     <message>
+        <location line="-62"/>
         <source>&Folders List</source>
         <translation>&Seznam map</translation>
     </message>
     <message>
+        <location line="+57"/>
         <source>Auto-mount</source>
         <translation>Sam. priklopi</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSF.cpp" line="+1"/>
         <source>Yes</source>
         <translation>Da</translation>
     </message>
     <message>
+        <location line="-14"/>
         <source>Add Shared Folder</source>
-        <translation>Dodaj deljeno mapo</translation>
+        <translation>Dodaj mapo v souporabo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edit Shared Folder</source>
-        <translation>Uredi deljeno mapo</translation>
+        <translation>Uredi souporabo mape</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove Shared Folder</source>
-        <translation>Odstrani deljeno mapo</translation>
+        <translation>Odstrani souporabo mape</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new shared folder.</source>
-        <translation>Doda novo deljeno mapo.</translation>
+        <translation>Doda novo mapo v souporabo.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edits selected shared folder.</source>
-        <translation>Uredi izbrano deljeno mapo.</translation>
+        <translation>Uredi izbrano souporabo mape.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected shared folder.</source>
-        <translation>Odstrani izbrano deljeno mapo.</translation>
+        <translation>Odstrani izbrano souporabo mape.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSFDetails.cpp" line="+130"/>
         <source>Add Share</source>
-        <translation>Dodaj deljenje</translation>
+        <translation>Dodaj souporabo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Edit Share</source>
-        <translation>Uredi deljenje</translation>
+        <translation>Uredi souporabo</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSFDetails.ui" line="+29"/>
         <source>Folder Path:</source>
         <translation>Pot mape:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Folder Name:</source>
         <translation>Ime mape:</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Holds the name of the shared folder (as it will be seen by the guest OS).</source>
-        <translation>Vsebuje ime deljene mape (kot jo bo videl gostujoči OS).</translation>
+        <translation>Vsebuje ime mape v souporabi (kot jo bo videl gostujoči OS).</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>When checked, the guest OS will not be able to write to the specified shared folder.</source>
-        <translation>Ko je označeno, gostujoči OS ne bo mogel pisati v navedeno deljeno mapo.</translation>
+        <translation>Ko je označeno, gostujoči OS ne bo mogel pisati v navedeno mapo v souporabi.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Read-only</source>
         <translation>&Samo za branje</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Make Permanent</source>
         <translation>&Naredi trajno</translation>
     </message>
     <message>
+        <location line="-13"/>
         <source>When checked, the guest OS will try to automatically mount the shared folder on startup.</source>
-        <translation>Ko je označeno, bo gostujoči OS ob zagonu poizkusil samodejno priklopiti deljeno mapo.</translation>
+        <translation>Ko je označeno, bo gostujoči OS ob zagonu poizkusil samodejno priklopiti mapo v souporabi.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Auto-mount</source>
         <translation>&Samodejno priklopi</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>When checked, this shared folder will be permanent.</source>
-        <translation>Ko je označeno, bo ta deljena mapa trajna.</translation>
+        <translation>Ko je označeno, bo ta mapa v souporabi trajna.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSerial</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSerial.cpp" line="+155"/>
         <source>Port %1</source>
         <comment>serial ports</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSerial.ui" line="+29"/>
         <source>When checked, enables the given serial port of the virtual machine.</source>
         <translation>Ko je označeno, omogoči dana zaporedna vrata navideznega računlanika.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Enable Serial Port</source>
         <translation>&Omogoči zaporedna vrata</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>Port &Number:</source>
         <translation>&Število vrat:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Selects the serial port number. You can choose one of the standard serial ports or select <b>User-defined</b> and specify port parameters manually.</source>
         <translation>Izbere zaporedna vrata. Izberete lahko eno od standardnih zaporednih vrat ali <b>uporabniško določena</b> in ročno navedete parametre vrat.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&IRQ:</source>
         <translation>&IRQ:</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>I/O Po&rt:</source>
         <translation>&Vrata I/O:</translation>
     </message>
     <message>
+        <location line="+36"/>
         <source>Port &Mode:</source>
         <translation>&Način vrat:</translation>
     </message>
     <message>
+        <location line="-43"/>
         <source>Holds the IRQ number of this serial port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
         <translation>Vsebuje število IRQ teh zaporednih vrat. To mora biti celo število med <tt>0</tt> in <tt>255</tt>. Vrednosti večje od <tt>15</tt> lahko uporabite samo, če je za ta navidezni računalnik omogočena nastavitev <b>I/O APIC</b>.</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Holds the base I/O port address of this serial port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Vsebuje osnovni naslov vrat I/O.teh zaporednih vrat. Veljavne vrednosti so cela števila v območju od<tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
+        <location line="+62"/>
         <source>&Connect to existing pipe/socket</source>
         <translation>&Poveži se v obstoječo cev/vtič</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&Path/Address:</source>
         <translation>&Pot/Naslov:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>V načinu <b>cevi gostitelja</b>: vsebuje pot do cevi zaporednih vrat na gostitelju. Primeri: "\\.\pipe\myvbox" ali "/tmp/myvbox", za Windows oz. sisteme podobne UNIXU.</p><p>V načinu <b>naprave gostitelja</b>: vsebuje ime zaporedne naprave gostitelja. Primeri: "COM1" ali "/dev/ttyS0".</p><p>V načinu <b>surove datoteke</b>: vsebuje pot do datoteke na gostiteljs [...]
     </message>
     <message>
+        <location line="-43"/>
         <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
         <translation>Izbere način delovanja teh zaporednih vrat. Če izberete <b>Prekinjen</b>, go gostujoči OS zaznal zaporedna vrata, vendar ne bo mogel z njimi upravljati.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
         <translation>Ko je označeno, bo navidezni računlanik domneval, da cev ali vtič naveden v polju <b>Pot/Naslov</b> obstaja in ga poizkusil uporabiti. V naprotnem primeru bo navidezni računalnik ustvaril cev ali vtič, ko se zažene.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSerial.cpp" line="+252"/>
         <source>No IRQ is currently specified.</source>
         <translation>Trenutno ni navedenega IRQ-ja.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>No I/O port is currently specified.</source>
         <translation>Trenutno ni navedenih vrat I/O.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Two or more ports have the same settings.</source>
         <translation>Dvoje ali več vrat ima enake nastavitve.</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>No port path is currently specified.</source>
         <translation>Trenutno ni navedene poti vrat.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>There are currently duplicate port paths specified.</source>
         <translation>Trenutno so navedene podvojene poti vrat.</translation>
     </message>
@@ -4071,511 +5044,650 @@
 <context>
     <name>UIMachineSettingsStorage</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="+731"/>
         <source><nobr><b>%1</b></nobr><br><nobr>Bus:&nbsp;&nbsp;%2</nobr><br><nobr>Type:&nbsp;&nbsp;%3</nobr></source>
         <translation><nobr><b>%1</b></nobr><br><nobr>Vodilo:&nbsp;&nbsp;%2</nobr><br><nobr>Vrsta:&nbsp;&nbsp;%3</nobr></translation>
     </message>
     <message>
+        <location line="+1757"/>
         <source>Add Controller</source>
         <translation>Dodaj krmilnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add IDE Controller</source>
         <translation>Dodaj krmilnik IDE</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add SATA Controller</source>
         <translation>Dodaj krmilnik SATA</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add SCSI Controller</source>
         <translation>Dodaj krmilnik SCSI</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Add Floppy Controller</source>
         <translation>Dodaj krmilnik disketnega pogona</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Remove Controller</source>
         <translation>Odstrani krmilnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add Attachment</source>
         <translation>Dodaj priklop</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add Hard Disk</source>
         <translation>Dodaj trdi disk</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Remove Attachment</source>
         <translation>Odstrani priklop</translation>
     </message>
     <message>
+        <location line="+288"/>
         <source>Hard &Disk:</source>
         <translation>&Trdi disk:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="+51"/>
         <source>&Storage Tree</source>
         <translation>&Drevo pomnilniških naprav</translation>
     </message>
     <message>
+        <location line="+64"/>
+        <location line="+294"/>
         <source>Information</source>
         <translation>Podatki</translation>
     </message>
     <message>
+        <location line="-287"/>
         <source>The Storage Tree can contain several controllers of different types. This machine currently has no controllers.</source>
         <translation>Drevo pomnilniških naprav lahko vsebuje več krmilnikov različnih vrst. Ta računalnik trenutno nima krmilnikov.</translation>
     </message>
     <message>
+        <location line="+39"/>
+        <location line="+118"/>
         <source>Attributes</source>
         <translation>Lastnosti</translation>
     </message>
     <message>
+        <location line="-111"/>
         <source>&Name:</source>
         <translation>I&me:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Type:</source>
         <translation>&Vrsta:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Selects the sub-type of the storage controller currently selected in the Storage Tree.</source>
         <translation>Izbere podvrsto krmilnika  pomnilniških naprav, ki je trenutno izbran v drevesu  pomnilniških naprav.</translation>
     </message>
     <message>
+        <location line="+112"/>
         <source>Selects the slot on the storage controller used by this attachment. The available slots depend on the type of the controller and other attachments on it.</source>
         <translation>Izbere mesto na krmilniku pomnilniških naprav, ki ga uporablja ta priklop. Razpoložljiva mesta so odvisna od vrste krmilnika in drugih njegovih priklopov.</translation>
     </message>
     <message>
+        <location line="+36"/>
         <source>When checked, allows the guest to send ATAPI commands directly to the host-drive which makes it possible to use CD/DVD writers connected to the host inside the VM. Note that writing audio CD inside the VM is not yet supported.</source>
         <translation>Ko je označeno, gostu dovoli pošiljanje ukazov ATAPI neposredno na pogon gostitelja, zaradi česar uporaba zapisovalnikov CD/DVD, ki so povezani z gostiteljem v navideznem računalniku, ni mogoča. Upoštevajte, da zapisovanje zvočnega CD-ja v navideznem računalniku še ni podpro.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Passthrough</source>
         <translation>&Prehod</translation>
     </message>
     <message>
+        <location line="+104"/>
         <source>Virtual Size:</source>
         <translation>Navidezna velikost:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Actual Size:</source>
         <translation>Dejanska velikost:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Size:</source>
         <translation>Velikost:</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>Location:</source>
         <translation>Mesto:</translation>
     </message>
     <message>
+        <location line="-120"/>
         <source>Type (Format):</source>
         <translation>Vrsta (oblika):</translation>
     </message>
     <message>
+        <location line="+140"/>
         <source>Attached to:</source>
         <translation>Priklopljen v:</translation>
     </message>
     <message>
+        <location line="-313"/>
         <source>Use Host I/O Cache</source>
         <translation>Uporabi predpomnilnik I/O gostitelja</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-297"/>
         <source>Add SAS Controller</source>
         <translation>Dodaj krmilnik SAS</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="+193"/>
         <source>Type:</source>
         <translation>Vrsta:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-1554"/>
         <source>Host Drive</source>
         <translation>Pogon gostitelja</translation>
     </message>
     <message>
+        <location line="+1853"/>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation>Izberite ali ustvarite datoteko navideznega trdega diska. Navidezni računalnik bo podatke v datoteki videl kot vsebino navideznega trdega diska.</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Floppy &Drive:</source>
         <translation>&Disketni pogon:</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation>Izberite navidezno disketo ali fizični pogon za uporabo z navideznim pogonom. Navidezni računalnik bo vstavljen disk videl s podatki v datoteki ali na disku v fizičnem pogonu kot njegovo vsebino.</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-238"/>
         <source>Remove disk from virtual drive</source>
         <translation>Odstrani disk iz navideznega pogona</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="-68"/>
         <source>&Live CD/DVD</source>
         <translation>&Živi CD/DVD</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>&Solid-state Drive</source>
         <translation>&Negibljivi disk</translation>
     </message>
     <message>
+        <location line="+132"/>
         <source>Details:</source>
         <translation>Podrobnosti:</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-349"/>
         <source>at most one supported</source>
         <comment>controller</comment>
         <translation>Podprt je največ en</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>up to %1 supported</source>
         <comment>controllers</comment>
         <translation>Podprtih je do %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="-302"/>
         <source>&Port Count:</source>
         <translation>&Števec vrat:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation>Izbere števec vrat krmilnika pomnilniških naprav SATA, ki je trenutno izbran v drevesu  pomnilniških naprav. To mora biti vsaj za eno večje od največjega števila vrat, ki jih je treba uporabiti.</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="+754"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-704"/>
+        <location filename="../src/selector/graphics/details/UIGDetailsElements.cpp" line="-148"/>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-1730"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="-269"/>
+        <location line="+805"/>
         <source>Controller: %1</source>
         <translation>Krmilnik: %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="+1679"/>
         <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation>Trenutno ni navedenega imena za krmilnik na položaju <b>%1</b>.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation>Krmilnik na položaju <b>%1</b>ima enako ime kot krmilnik na položaju <b>%2</b>.</translation>
     </message>
     <message>
+        <location line="+18"/>
         <source>No hard disk is selected for <i>%1</i>.</source>
         <translation>Ni izbranega trdega diska za <i>%1</i>.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation><i>%1</i> uporablja disk, ki je že priklopljen v <i>%2</i>.</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation>Računalnik ima trenutno dodeljenih več krmilnikov  pomnilniških naprav, kot jih podpira vezni nabor %1. Spremenite vrsto veznega nabora na strani sistemskih nastavitev ali zmanjšajte število naslednjih krmilnikov  pomnilniških naprav na strani nastavitev za shranjevanje: %2.</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Add USB Controller</source>
         <translation>Dodaj krmilnik USB</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="+173"/>
         <source>&Hot-pluggable</source>
         <translation>&Hitro priklopljivi</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="+5"/>
         <source>Add Optical Drive</source>
         <translation>Dodaj optični pogon</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add Floppy Drive</source>
         <translation>Dodaj disketni pogon</translation>
     </message>
     <message>
+        <location line="+295"/>
         <source>Optical &Drive:</source>
         <translation>&Optični pogon:</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation>Izberite navidezni optični ali fizični pogon za uporabo z navideznim pogonom. Navidezni računalnik bo vstavljen disk videl s podatki v datoteki ali na disku v fizičnem pogonu kot njegovo vsebino.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.ui" line="+176"/>
         <source>Encrypted with key:</source>
         <translation>Šifrirano s ključem:</translation>
     </message>
     <message>
+        <location line="-507"/>
         <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation>Navede vse krmilnike pomnilniških naprav za ta računalnik, in na njega priklopljene navidezne odtise in pogone gostitelja.</translation>
     </message>
     <message>
+        <location line="+112"/>
         <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation>Vsebuje ime krmilnika pomnilniških naprav, ki je trenutno izbran v drevesu pomnilniških naprav.</translation>
     </message>
     <message>
+        <location line="+59"/>
         <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation>Ko je označeno, dovoli uporabo zmogljivosti predpomnenja I/O gostitelja.</translation>
     </message>
     <message>
+        <location line="+125"/>
         <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation>Ko je označeno, navidezni disk ne bo odstranjen, ko ga izvrže gostujoči sistem.</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation>Ko je označeno, bo gostujoči sistem videl navidezni disk kot negibljivo napravo.</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation>Ko je označeno, bo gostujoči sistem videl navidezni disk kot hitro priklopljivo napravo.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-1859"/>
         <source>Image</source>
         <comment>storage image</comment>
         <translation>Odtis</translation>
     </message>
     <message>
+        <location line="+167"/>
         <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation><nobr>Razširi/Strne&nbsp;predmet.</nobr></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation><nobr>Doda&nbsp;trdi&nbsp;disk.</nobr></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation><nobr>Doda&nbsp;optični&nbsp;pogon.</nobr></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation><nobr>Doda&nbsp;disketni&nbsp;pogon.</nobr></translation>
     </message>
     <message>
+        <location line="+1389"/>
         <source>Adds new storage controller.</source>
         <translation>Doda nov krmilnik pomnilniških naprav.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected storage controller.</source>
         <translation>Odstrani izbran krmilnik pomnilniških naprav.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Adds new storage attachment.</source>
         <translation>Doda nov priklop pomnilniške naprave.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected storage attachment.</source>
         <translation>Odstrani izbran priklop pomnilniške naprave.</translation>
     </message>
     <message>
+        <location line="+447"/>
         <source>Create New Hard Disk...</source>
         <translation>Ustvari nov trdi disk …</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Choose Virtual Hard Disk File...</source>
         <translation>Izberi datoteko navideznega trdega diska …</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Choose Virtual Optical Disk File...</source>
         <translation>Izberi datoteko navideznega optičnega diska …</translation>
     </message>
     <message>
+        <location line="+7"/>
+        <location line="+16"/>
         <source>Remove Disk from Virtual Drive</source>
         <translation>Odstrani disk iz navideznega pogona</translation>
     </message>
     <message>
+        <location line="-7"/>
         <source>Choose Virtual Floppy Disk File...</source>
         <translation>Izberi datoteko navideznega disketnega pogona …</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+600"/>
         <source>Choose disk image...</source>
         <comment>This is used for hard disks, optical media and floppies</comment>
         <translation>Izberi odtis diska …</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsStorage.cpp" line="-486"/>
         <source>Add NVMe Controller</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.ui" line="+22"/>
         <source>&Motherboard</source>
         <translation>&Matična plošča</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Base &Memory:</source>
         <translation>Osnovni p&omnilnik:</translation>
     </message>
     <message>
+        <location line="+25"/>
+        <location line="+39"/>
         <source>Controls the amount of memory provided to the virtual machine. If you assign too much, the machine might not start.</source>
         <translation>Nadzira količino pomnilnika , ki je dodeljen navideznemu računalniku. Če dodelite preveč, se računalnik morda ne bo zagnal.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.cpp" line="+446"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.ui" line="+7"/>
         <source>&Boot Order:</source>
         <translation>&Vrstni red zagona:</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Defines the boot device order. Use the checkboxes on the left to enable or disable individual boot devices. Move items up and down to change the device order.</source>
         <translation>Določi vrstni red zagonskih naprav. Uporabite označna polja na levi, da omogočite ali onemogočite posamezne zagonske naprave. Premaknite predmete gor in dol, da spremenite vrstni red naprav.</translation>
     </message>
     <message>
+        <location line="+46"/>
         <source>Moves the selected boot device down.</source>
         <translation>Premakne izbrano zagonsko napravo dol.</translation>
     </message>
     <message>
+        <location line="-17"/>
         <source>Moves the selected boot device up.</source>
         <translation>Premakne izbrano zagonsko napravo gor.</translation>
     </message>
     <message>
+        <location line="+147"/>
+        <location line="+197"/>
         <source>Extended Features:</source>
         <translation>Razširjene značilnosti:</translation>
     </message>
     <message>
+        <location line="-187"/>
         <source>When checked, the virtual machine will support the Input Output APIC (I/O APIC), which may slightly decrease performance. <b>Note:</b> don't disable this feature after having installed a Windows guest operating system!</source>
         <translation>Ko je označeno, bo navidezni računalnik podprl vhodno/izhodni APIC (I/O APIC), kar lahko malce zmanjša zmogljivost. <b>Opomba</b>: ne omogočte te značilnosti po namestitvi gostujočega operacijskega sistema Windows!</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &I/O APIC</source>
         <translation>Omogoči &I/O APIC</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>&Processor</source>
         <translation>&Procesor</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&Processor(s):</source>
         <translation>&Procesor(ji):</translation>
     </message>
     <message>
+        <location line="+147"/>
         <source>When checked, the Physical Address Extension (PAE) feature of the host CPU will be exposed to the virtual machine.</source>
         <translation>Ko je označeno, bo značilnost razširitve fizičnega naslova (PAE) CPE-ja gostitelja izpostavljena navideznemu računalniku.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable PA&E/NX</source>
         <translation>Omogoči PA&E/NX</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Acce&leration</source>
         <translation>&Pospeševanje</translation>
     </message>
     <message>
+        <location line="+51"/>
         <source>Hardware Virtualization:</source>
         <translation>Strojna navideznost:</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>When checked, the virtual machine will try to make use of the host CPU's hardware virtualization extensions such as Intel VT-x and AMD-V.</source>
         <translation>Ko je označeno, bo navidezni računalnik poizkusil uporabiti razširitve strojne navideznosti CPE-ja gostitelja, kot sta  Intel VT-x in AMD-V.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &VT-x/AMD-V</source>
         <translation>Omogoči &VT-x/AMD-V</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>When checked, the virtual machine will try to make use of the nested paging extension of Intel VT-x and AMD-V.</source>
         <translation>Ko je označeno, bo navidezni računalnik poizkusil uporabiti razširitev ugenzdenega odstranjevanja Intel VT-x in AMD-V.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable Nested Pa&ging</source>
         <translation>Omogoči &ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location line="-304"/>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation>Ko je označeno, bo gost podprl razširjen vmesnik strojne programske opreme (EFI), ki je zahtevan za zagon določenih gostujočih OS-ov. OS-i brez podpore za EFI se ne bodo mogli zagnati, če je ta možnost omogočena.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &EFI (special OSes only)</source>
         <translation>Omogoči &EFI (samo posebni OS-i)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Hardware Clock in &UTC Time</source>
         <translation>Strojna ura v času &UTC</translation>
     </message>
     <message>
+        <location line="+52"/>
+        <location line="+39"/>
         <source>Controls the number of virtual CPUs in the virtual machine. You need hardware virtualization support on your host system to use more than one virtual CPU.</source>
         <translation>Nadzira število navideznih CPE-jev v navideznem računalniku. Za uporabo več kot enega navideznega CPE-ja potrebujete podporo za strojno navideznost na gostiteljskm sistemu.</translation>
     </message>
     <message>
+        <location line="-210"/>
         <source>&Chipset:</source>
         <translation>&Vezni nabor:</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Selects the chipset to be emulated in this virtual machine. Note that the ICH9 chipset emulation is experimental and not recommended except for guest systems (such as Mac OS X) which require it.</source>
         <translation>Izbere vezni nabor, ki se posnema v navideznem računalniku. Upoštevajte, da je posnemanje veznega nabora ICH9 preizkusna in ni priporočljiva razen za gostujoče sisteme (kot je Mac OS X), ki ga zahtevajo.</translation>
     </message>
     <message>
+        <location line="+196"/>
         <source>&Execution Cap:</source>
         <translation>&Omejitev izvajanja:</translation>
     </message>
     <message>
+        <location line="+18"/>
+        <location line="+38"/>
         <source>Limits the amount of time that each virtual CPU is allowed to run for. Each virtual CPU will be allowed to use up to this percentage of the processing time available on one physical CPU. The execution cap can be disabled by setting it to 100%. Setting the cap too low can make the machine feel slow to respond.</source>
         <translation>Omeji količino dovoljenega časa izvajanja vsakega navideznega CPE-ja. Vsakemu navideznemu CPE-ju bo dovoljeno uporabiti do tega odstotka časa obdelave, ki je na voljo na enem fizičnem CPE-ju. Omejitev izvajanja lahko onemogočite z nastavitvijo na 100 %. Prenizka nastavitev omejitve izvajanja lahko povzroči počasen odziv računalnika.</translation>
     </message>
     <message>
+        <location line="-230"/>
         <source>&Pointing Device:</source>
         <translation>&Kazalna naprava:</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Determines whether the emulated pointing device is a standard PS/2 mouse, a USB tablet or a USB multi-touch tablet.</source>
         <translation>Določi, ali je posnemana naprava običajna miška PS/2, tablica USB ali večdotična tablica USB.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.cpp" line="-134"/>
         <source>More than <b>%1%</b> of the host computer's memory (<b>%2</b>) is assigned to the virtual machine. Not enough memory is left for the host operating system. Please select a smaller amount.</source>
         <translation>Več kot <b>%1%</b> pomnilnika gostiteljskega računalnika (<b>%2</b>) je dodeljeno navideznemu računalniku. Gostiteljskemu operacijskemu sistemu ni ostalo dovolj pomnilnika. Izberite manjšo količino.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>More than <b>%1%</b> of the host computer's memory (<b>%2</b>) is assigned to the virtual machine. There might not be enough memory left for the host operating system. Please consider selecting a smaller amount.</source>
         <translation>Več kot <b>%1%</b> pomnilnika gostiteljskega računalnika (<b>%2</b>) je dodeljeno navideznemu računalniku. Gostiteljskemu operacijskemu sistemu morda ne bo ostalo dovolj pomnilnika. razmislite o izbiri manjše količine.</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>For performance reasons, the number of virtual CPUs attached to the virtual machine may not be more than twice the number of physical CPUs on the host (<b>%1</b>). Please reduce the number of virtual CPUs.</source>
         <translation>Zaradi zmogljivostnih razlogov število navideznih CPE-jev priklopljenih na navidezni računalnik ne sme biti dvakratno število fizičnih CPE-jev na gostitelju (<b>%1</b>). Zmanjšajte število navideznih CPE-jev.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>More virtual CPUs are assigned to the virtual machine than the number of physical CPUs on the host system (<b>%1</b>). This is likely to degrade the performance of your virtual machine. Please consider reducing the number of virtual CPUs.</source>
         <translation>Več navideznih CPE-jev je dodeljenih navideznemu računalniku, kot je število fizičnih CPE-jev na gostiteljskem sistemu (<b>%1</b>). To bo verjetno zmanjšalo zmogljivost vašega navideznega računalnika. Razmislite o zmanjšanju števila navideznih CPE-jev.</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>The processor execution cap is set to a low value. This may make the machine feel slow to respond.</source>
         <translation>Omejitev izvajanja procesorja je nastavljena na nizko vrednost. To lahko povzroči počasen odziv računalnika.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.ui" line="+259"/>
         <source>&Paravirtualization Interface:</source>
         <translation>&Vmesnik paranavideznosti:</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Selects the paravirtualization guest interface provider to be used by this virtual machine.</source>
         <translation>Izbere ponudnika vmesnika gosta paranavideznosti, ki naj ga uporabi ta navdezni računalnik.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.cpp" line="-65"/>
         <source>The I/O APIC feature is not currently enabled in the Motherboard section of the System page. This is needed in order to support a chip set of type ICH9 you have enabled for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Značilnost I/O APIC trenutno v odseku matične plošče sistemske strani ni omogočena. To je potrebno zaradi podpore veznemu naboru vrste ICH9, ki ste jo omogočili za ta navidezni računalnik. To bo opravljeno samodejno, če potrdite spremembe.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>USB controller emulation is not currently enabled on the USB page. This is needed to support an emulated USB input device you have enabled for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Posnemanje krmilnika USB trenutno na strani USB ni omogočeno. To je potrebno za podporo posnemane vnosne naprave USB, ki ste jo omogočili za ta navidezni računalnk. To bo opravljeno samodejno, če potrdite spremembe.</translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>The I/O APIC feature is not currently enabled in the Motherboard section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Značilnost I/O APIC trenutno v odseku matične plošče sistemske strani ni omogočena. To je potrebno zaradi podpore več kot enega navideznega procesorja, ki ste jo omogočili za ta navidezni računalnik. To bo opravljeno samodejno, če potrdite spremembe.</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Strojna navideznost trenutno v odseku Pospeševanje sistemske strani ni omogočena. To je potrebno zaradi podpore več kot enega navideznega procesorja, ki ste jo omogočili za ta navidezni računalnik. To bo opravljeno samodejno, če potrdite spremembe.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.ui" line="-228"/>
         <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
         <translation>Ko je označeno, bo naprava RTC sporočila čas UTC, v nasprotnem primeru pa krajevni (gostiteljski) čas. Unix običajno pričakuje nastavitev strojne ure na UTC.</translation>
     </message>
     <message>
+        <location line="+160"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsSystem.cpp" line="+60"/>
+        <location line="+1"/>
         <source>%1 MB</source>
         <translation>%1 MB</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>%1 CPU</source>
         <comment>%1 is 1 for now</comment>
         <translation>%1 CPE</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>%1 CPUs</source>
         <comment>%1 is host cpu count * 2 for now</comment>
         <translation>%1 CPE-jev</translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location line="+1"/>
         <source>%1%</source>
         <translation>%1%</translation>
     </message>
@@ -4583,143 +5695,176 @@
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.cpp" line="+603"/>
         <source>New Filter %1</source>
         <comment>usb</comment>
         <translation>Nov filter %1</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.ui" line="+29"/>
         <source>When checked, enables the virtual USB controller of this machine.</source>
         <translation>Ko je označeno, omogoči navidezni krmilnik USB na tem računalniku.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable &USB Controller</source>
         <translation>Omogoči krmilnik &USB</translation>
     </message>
     <message>
+        <location line="+89"/>
         <source>USB Device &Filters</source>
         <translation>&Filtri naprav USB</translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>Lists all USB filters of this machine. The checkbox to the left defines whether the particular filter is enabled or not. Use the context menu or buttons to the right to add or remove USB filters.</source>
         <translation>Navede vse filtre USB tega računalnika. Označno polje na levi določa, ali je določen filter omogočen. Uporabite vsebinski meni ali gumbe na desni, da dodate ali odstranite filtre USB.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>[filter]</source>
         <translation>[filter]</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.cpp" line="+267"/>
         <source><nobr>Vendor ID: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>ID prodajalca: %1</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Product ID: %2</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>ID izdelka: %2</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Revision: %3</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Revizija: %3</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Product: %4</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Izdelek: %4</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Manufacturer: %5</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Izdelovalec: %5</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Serial No.: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Serijska št.: %1</nobr></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source><nobr>Port: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Vrata: %1</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>State: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Stanje: %1</nobr></translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.ui" line="-74"/>
         <source>USB &1.1 (OHCI) Controller</source>
         <translation>Krmilnik USB &1.1 (OHCI)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>USB &2.0 (EHCI) Controller</source>
         <translation>Krmilnik USB &2.0 (EHCI)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>USB &3.0 (xHCI) Controller</source>
         <translation>Krmilnik USB &3.0 (xHCI)</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.cpp" line="-348"/>
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0 je trenutno omogočen za ta navidezni računalnik. Vendar to zahteva namestitev <i>%1</i>. . Namestite paket razširitev iz mesta za prejem VirtualBox ali onemogočite USB 2.0/3.0, da boste lahko zagnali računalnik.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.ui" line="-23"/>
         <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation>Ko je izbrano, omogoči navidezni krmilnik USB OHCI tega računalnika. Krmilnik USB OHCI dobavi podporo za USB 1.0.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
         <translation>Ko je izbrano, omogoči navidezni krmilnik USB EHCI tega računalnika. Krmilnik USB EHCI dobavi podporo za USB 2.0.</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
         <translation>Ko je izbrano, omogoči navidezni krmilnik USB xHCI tega računalnika. Krmilnik USB xHCI dobavi podporo za USB 3.0.</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.cpp" line="+29"/>
         <source>Add Empty Filter</source>
         <translation>Dodaj prazen filter</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Add Filter From Device</source>
         <translation>Dodaj filter iz naprave</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Edit Filter</source>
         <translation>Uredi filter</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove Filter</source>
         <translation>Odstrani filter</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Move Filter Up</source>
         <translation>Premakni filter gor</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Move Filter Down</source>
         <translation>Premakni filter dol</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation>Doda nov filter USB s polji na začetku nastavljenimi na prazne nize. Upoštevajte, da se bo tak filter ujemal z vsemi priklopljenimi napravami USB.</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation>Doda nov filter USB z vsemi polji nastavljenimi na vrednosti izbrane naprave USB priklopljene na gostiteljski računalnik.</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Edits selected USB filter.</source>
         <translation>Uredi izbran filter USB.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected USB filter.</source>
         <translation>Odstrani izbran filter USB.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Moves selected USB filter up.</source>
         <translation>Premakni izbran filter USB gor.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Moves selected USB filter down.</source>
         <translation>Premakni izbran filter USB dol.</translation>
     </message>
@@ -4727,93 +5872,115 @@
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSBFilterDetails.cpp" line="+57"/>
         <source>Any</source>
         <comment>remote</comment>
         <translation>Vse</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Yes</source>
         <comment>remote</comment>
         <translation>Da</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>No</source>
         <comment>remote</comment>
         <translation>Ne</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSBFilterDetails.ui" line="+38"/>
         <source>&Name:</source>
         <translation>I&me:</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Holds the filter name.</source>
         <translation>Vsebuje ime filtra.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&Vendor ID:</source>
         <translation>ID p&rodajalca:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Product ID:</source>
         <translation>ID i&zdelka:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Revision:</source>
         <translation>&Revizija:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Manufacturer:</source>
         <translation>&Izdelovalec:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Pro&duct:</source>
         <translation>I&zdelek:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Serial No.:</source>
         <translation>&Serijska št.:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Por&t:</source>
         <translation>&Vrata:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>R&emote:</source>
         <translation>&Oddaljeno:</translation>
     </message>
     <message>
+        <location line="-166"/>
         <source>USB Filter Details</source>
         <translation>Podrobnosti filtra USB</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation>Vsebuje filter ID-jev prodajalca. Oblika niza za <i>natančno ujemanje</i> je <tt>XXXX</tt>, kjer je<tt>X</tt> šestnajstiško število. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation>Vsebuje filter ID-jev izdelka. Oblika niza za <i>natančno ujemanje</i> je <tt>XXXX</tt>, kjer je<tt>X</tt> šestnajstiško število. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
         <translation>Vsebuje filter številk revizije. Oblika niza za <i>natančno ujemanje</i> je <tt>IIFF</tt>, kjer je<tt>I</tt> desetiško število dela s celimi števili in <tt>F</tt> desetiško število dela z ulomljenimi števili. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation>Vsebuje filter izdelovalcev kot niz <i>natančnega ujemanja</i>. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation>Vsebuje filter imen izdelka kot niz <i>natančnega ujemanja</i>. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation>Vsebuje filter serijskih številk kot niz <i>natančnega ujemanja</i>. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation>Vsebuje filter vrat USB gostitelja kot niz <i>natančnega ujemanja</i>. Prazen niz se bo ujemal z vsemi vrednostmi.</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
         <translation>Vsebuje, ali ta filter velja za naprave USB krajevno priklopljene na gostitlejski računalnik (<i>Ne</i>), na računalnik odjemalca VRDP (<i>Da</i>) ali oba (<i>Katerikoli</i>).</translation>
     </message>
@@ -4821,6 +5988,7 @@
 <context>
     <name>UIMachineWindow</name>
     <message>
+        <location filename="../src/runtime/UIMachineWindow.cpp" line="+254"/>
         <source> EXPERIMENTAL build %1r%2 - %3</source>
         <translation>PREIZKUSNA izgradnja %1r%2 - %3</translation>
     </message>
@@ -4828,6 +5996,7 @@
 <context>
     <name>UIMachineWindowNormal</name>
     <message>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+41"/>
         <source>Shows the currently assigned Host key.<br>This key, when pressed alone, toggles the keyboard and mouse capture state. It can also be used in combination with other keys to quickly perform actions from the main menu.</source>
         <translation>Prikaže trenutno dodeljeno gostiteljsko tipko.<br>Ta tipka, ko je samostojno pritisnjena, preklopi stanje zajema tipkovnice in miške. Lahko se uporabi tudi v kombinaciji z drugimi tipkami za hitro opravljanje dejanj iz glavnega menija.</translation>
     </message>
@@ -4835,18 +6004,22 @@
 <context>
     <name>UIMediumManager</name>
     <message>
+        <location filename="../src/medium/UIMediumManager.cpp" line="+1792"/>
         <source>&Optical disks</source>
         <translation>&Optični diski</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Floppy disks</source>
         <translation>&Diskete</translation>
     </message>
     <message>
+        <location line="-1410"/>
         <source>Removing medium...</source>
         <translation>Odstranjevanje nosilca …</translation>
     </message>
     <message>
+        <location line="+1408"/>
         <source>&Hard disks</source>
         <translation>&Trdi diski</translation>
     </message>
@@ -4854,61 +6027,75 @@
 <context>
     <name>UIMediumTypeChangeDialog</name>
     <message>
+        <location filename="../src/UIMediumTypeChangeDialog.cpp" line="+73"/>
         <source>Modify medium attributes</source>
         <translation>Spremeni lastnosti nosilca</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>You are about to change the settings of the disk image file <b>%1</b>.</p><p>Please choose one of the following modes and press <b>%2</b> to proceed or <b>%3</b> otherwise.</p></source>
         <translation><p>Ste pred spremembo nastavitev datoteke odtisa diska <b>%1</b>.</p><p>Izberite enega od naslednjih načinov in za nadaljevanje pritisnite <b>%2</b> ali v naprotnem primeru <b>%3</b>.</p></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Choose mode:</source>
         <translation>Izberite način:</translation>
     </message>
     <message>
+        <location line="+190"/>
         <source>This type of medium is attached directly or indirectly, preserved when taking snapshots.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne neposredno ali posredno in se ohrani ob zajemanju posnetkov stanja.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>This type of medium is attached indirectly, changes are wiped out the next time the virtual machine is started.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne posredno in spremembe se ob naslednjem zagonu navidezneega računalnika izbrišejo.</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>This type of medium is attached directly, ignored when taking snapshots.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne neposredno in je ob zajemanju posnetkov stanja prezrta.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>This type of medium is attached directly, allowed to be used concurrently by several machines.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne neposredno in se lahko sočasno uporablja v več računalnikih.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>This type of medium is attached directly, and can be used by several machines.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne neposredno in se lahko uporablja v več računalnikih.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>This type of medium is attached indirectly, so that one base medium can be used for several VMs which have their own differencing medium to store their modifications.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta vrsta nosilca se pripne posredno, da se lahko osnovni nosilec uporabi v več navideznih računalnikih, ki ima vsak svoj razlikovalni nosilec za shranjevanje sprememb v njih.</translation>
     </message>
 </context>
 <context>
     <name>UIMenuBarEditorWidget</name>
     <message>
+        <location filename="../src/runtime/UIMenuBarEditorWindow.cpp" line="+912"/>
         <source>Virtual Screen Resize</source>
         <translation>Sprememba velikosti navideznega zaslona</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Virtual Screen Mapping</source>
         <translation>Preslikava navideznega zaslona</translation>
     </message>
     <message>
+        <location line="+92"/>
         <source>Close</source>
         <translation>Zapri</translation>
     </message>
     <message>
+        <location line="-29"/>
         <source>Switch</source>
         <translation>Preklopi</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Enable Menu Bar</source>
         <translation>Omogoči menijsko vrstico</translation>
     </message>
@@ -4916,801 +6103,1063 @@
 <context>
     <name>UIMessageCenter</name>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="-1517"/>
+        <location line="+2642"/>
         <source>VirtualBox - Information</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - podatki</translation>
     </message>
     <message>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Question</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - vprašanje</translation>
     </message>
     <message>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Warning</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - opozorilo</translation>
     </message>
     <message>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Error</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - napaka</translation>
     </message>
     <message>
+        <location line="-2638"/>
+        <location line="+2642"/>
         <source>VirtualBox - Critical Error</source>
         <comment>msg box title</comment>
         <translation>VirtualBox - kritična napaka</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Do not show this message again</source>
         <comment>msg box flag</comment>
         <translation>Tega sporočila ne prikazuj več</translation>
     </message>
     <message>
+        <location line="-2419"/>
         <source>Failed to open <tt>%1</tt>. Make sure your desktop environment can properly handle URLs of this type.</source>
         <translation>Odpiranje <tt>%1</tt> je spodeltelo. Prepričajte se, da lahko vaše namizno okolje pravilno obvlada URL te vrste.</translation>
     </message>
     <message>
+        <location line="-110"/>
         <source><p>Failed to initialize COM or to find the VirtualBox COM server. Most likely, the VirtualBox server is not running or failed to start.</p><p>The application will now terminate.</p></source>
         <translation><p>Začenjanje COM-a ali iskanje strežnika COM VirtualBox je spodletelo. Najverjetneje se VirtualBox ne izvaja ali je njegov zagon spodletel.</p><p>Program se bo sedaj končal.</p></translation>
     </message>
     <message>
+        <location line="+626"/>
         <source>Failed to set global VirtualBox properties.</source>
         <translation>Nastavitev splošnih lastnosti VirtualBoxa je spodletela.</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Failed to access the USB subsystem.</source>
         <translation>Dostop do podsistema USB je spodletel.</translation>
     </message>
     <message>
+        <location line="+434"/>
         <source>Failed to create a new virtual machine.</source>
         <translation>Ustvarjanje novega navideznega računalnika je spodletelo.</translation>
     </message>
     <message>
+        <location line="+367"/>
+        <location line="+8"/>
         <source>Failed to start the virtual machine <b>%1</b>.</source>
         <translation>Zagon navideznega računalnika <b>%1</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="-1094"/>
         <source>Failed to pause the execution of the virtual machine <b>%1</b>.</source>
         <translation>Premor izvajanja navideznega računalnika <b>%1</b> je spodeltel.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to resume the execution of the virtual machine <b>%1</b>.</source>
         <translation>Nadaljevanje izvajanja navideznega računalnika <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+16"/>
+        <location line="+8"/>
         <source>Failed to save the state of the virtual machine <b>%1</b>.</source>
         <translation>Shranjevanje stanja navideznega računalnika <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+88"/>
+        <location line="+8"/>
         <source>Failed to create a snapshot of the virtual machine <b>%1</b>.</source>
         <translation>Ustvarjanje posnetka stanja navideznega računalnika <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-80"/>
+        <location line="+8"/>
         <source>Failed to stop the virtual machine <b>%1</b>.</source>
         <translation>Ustavitev navideznega računalnika <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="-129"/>
+        <location line="+8"/>
         <source>Failed to remove the virtual machine <b>%1</b>.</source>
         <translation>Odstranjevanje navideznega računalnika <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+81"/>
         <source>Failed to discard the saved state of the virtual machine <b>%1</b>.</source>
         <translation>Opustitev shranjenega stanja navideznega računalnika <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="-308"/>
         <source>There is no virtual machine named <b>%1</b>.</source>
         <translation>Navidezni računalnik z imenom <b>%1</b> ne obstaja.</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>Failed to create a new session.</source>
         <translation>Ustvarjanje nove seje je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
+        <location line="+8"/>
         <source>Failed to open a session for the virtual machine <b>%1</b>.</source>
         <translation>Odpiranje nove seje za navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+516"/>
+        <location line="+8"/>
         <source>Failed to remove the host network interface <b>%1</b>.</source>
         <translation>Odstranjevanje omrežnega vmesnika gostitelja <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+945"/>
+        <location line="+8"/>
         <source>Failed to attach the USB device <b>%1</b> to the virtual machine <b>%2</b>.</source>
         <translation>Priklop naprave USB <b>%1</b> v navidezni računalnik <b>%2</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+8"/>
+        <location line="+8"/>
         <source>Failed to detach the USB device <b>%1</b> from the virtual machine <b>%2</b>.</source>
         <translation>Odklop naprave USB <b>%1</b> iz navideznega računalnika <b>%2</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="-788"/>
+        <location line="+9"/>
         <source>Failed to create the shared folder <b>%1</b> (pointing to <nobr><b>%2</b></nobr>) for the virtual machine <b>%3</b>.</source>
-        <translation>Ustvarjanje deljene mape <b>%1</b> (ki kaže na <nobr><b>%2</b></nobr>) za navidezni računalnik <b>%3</b> je spodletelo.</translation>
+        <translation>Ustvarjanje souporabe mape <b>%1</b> (ki kaže na <nobr><b>%2</b></nobr>) za navidezni računalnik <b>%3</b> je spodletelo.</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="+459"/>
         <source><p>The Virtual Machine reports that the guest OS does not support <b>mouse pointer integration</b> in the current video mode. You need to capture the mouse (by clicking over the VM display or pressing the host key) in order to use the mouse inside the guest OS.</p></source>
         <translation><p>Navidezni računalnik sporoča, da gostujoči OS ne podpira <b>vključitve kazalca miške</b> v trenutnem grafičnem načinu. Za uporabo miške v gostujočem OS-u morate zajeti miško (s klikom na zaslon navideznega računalnika ali pritskom na gostiteljsko tipko).</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>The Virtual Machine is currently in the <b>Paused</b> state and not able to see any keyboard or mouse input. If you want to continue to work inside the VM, you need to resume it by selecting the corresponding action from the menu bar.</p></source>
         <translation><p>Navidezni računalnik je trenutno v stanju <b>Premora</b> in ne more zaznati vnosa miške ali tipkovnice. Če želite nadaljevati z delom v navideznem računalniku, ga morate nadaljevati z izbiro ustreznega dejanja v menijski vrstici.</p></translation>
     </message>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="+471"/>
         <source><nobr>Fatal Error</nobr></source>
         <comment>runtime error info</comment>
         <translation><nobr>Usodna napaka</nobr></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><nobr>Non-Fatal Error</nobr></source>
         <comment>runtime error info</comment>
         <translation><nobr>Neusodna napaka</nobr></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><nobr>Warning</nobr></source>
         <comment>runtime error info</comment>
         <translation><nobr>Opozorilo</nobr></translation>
     </message>
     <message>
+        <location line="+16"/>
         <source><nobr>Error ID: </nobr></source>
         <comment>runtime error info</comment>
         <translation><nobr>ID napake: </nobr></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Severity: </source>
         <comment>runtime error info</comment>
         <translation>Resnost:</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source><p>A fatal error has occurred during virtual machine execution! The virtual machine will be powered off. Please copy the following error message using the clipboard to help diagnose the problem:</p></source>
         <translation><p>Med izvajanjem navideznega računalnika se je pojavila usodna napaka! Navidezni računalnik bo izklopljen. Kopirajte naslednje sporočilo napake z uporabo odložišča, da pomagate prepoznati težavo:</p></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source><p>An error has occurred during virtual machine execution! The error details are shown below. You may try to correct the error and resume the virtual machine execution.</p></source>
         <translation><p>Med izvajanjem navideznega računalnika se je pojavila napaka! Podrobnosti napake so prikazane spodaj. Lahko poizkusite popraviti napako in nadaljevati z izvajanjem navideznega računalnika.</p></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source><p>The virtual machine execution may run into an error condition as described below. We suggest that you take an appropriate action to avert the error.</p></source>
         <translation><p>Izvajanje navideznega računalnka lahko naleti na stanje napake opisano spodaj. Predlagamo, da se ustrezno odzovete, da preprečite napako.</p></translation>
     </message>
     <message>
+        <location line="+499"/>
+        <location line="+9"/>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Izbriši</translation>
+    </message>
+    <message>
+        <location line="+337"/>
+        <location line="+236"/>
         <source>Result&nbsp;Code: </source>
         <comment>error info</comment>
         <translation>Koda&nbsp;rezultata: </translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Component: </source>
         <comment>error info</comment>
         <translation>Sestavni del: </translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Interface: </source>
         <comment>error info</comment>
         <translation>Vmesnik: </translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Callee: </source>
         <comment>error info</comment>
         <translation>Klicalec: </translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Callee&nbsp;RC: </source>
         <comment>error info</comment>
         <translation>Klicalec&nbsp;RC: </translation>
     </message>
     <message>
+        <location line="-1627"/>
+        <location line="+11"/>
         <source><p>Failed to remove the shared folder <b>%1</b> (pointing to <nobr><b>%2</b></nobr>) from the virtual machine <b>%3</b>.</p><p>Please close all programs in the guest OS that may be using this shared folder and try again.</p></source>
-        <translation><p>Odstranjevanje deljene mape <b>%1</b> (ki kaže na <nobr><b>%2</b></nobr>) iz navideznega računalnika <b>%3</b> je spodletelo. </p><p>Zaprite vse programe v gostujočem OS-u, ki morda uporabljajo to mapo in poizkusite znova.</p></translation>
+        <translation><p>Odstranjevanje souporabe mape <b>%1</b> (ki kaže na <nobr><b>%2</b></nobr>) iz navideznega računalnika <b>%3</b> je spodletelo. </p><p>Zaprite vse programe v gostujočem OS-u, ki morda uporabljajo to mapo in poizkusite znova.</p></translation>
     </message>
     <message>
+        <location line="+1197"/>
         <source>Failed to open the license file <nobr><b>%1</b></nobr>. Check file permissions.</source>
         <translation>Odpiranje datoteke z dovoljenjem <nobr><b>%1</b></nobr> je spodletelo. Preverite dovoljenja datoteke.</translation>
     </message>
     <message>
+        <location line="-1630"/>
         <source>Failed to send the ACPI Power Button press event to the virtual machine <b>%1</b>.</source>
         <translation>Pošiljanje pritiska gumba za izklop ACPI v navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-350"/>
         <source><p>Failed to load the global GUI configuration from <b><nobr>%1</nobr></b>.</p><p>The application will now terminate.</p></source>
         <translation><p>Nalaganje splošnih nastavitev GUI-ja iz <b><nobr>%1</nobr></b> je spodletelo.</p><p>Program se bo sedaj končal.</p></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source><p>Failed to save the global GUI configuration to <b><nobr>%1</nobr></b>.</p><p>The application will now terminate.</p></source>
         <translation><p>Shranjevanje splošnih nastavitev GUI-ja v <b><nobr>%1</nobr></b> je spodletelo.</p><p>Program se bo sedaj končal.</p></translation>
     </message>
     <message>
+        <location line="+785"/>
         <source>Failed to save the settings of the virtual machine <b>%1</b> to <b><nobr>%2</nobr></b>.</source>
         <translation>Shranjevanje nastavitev navideznega računalnika <b>%1</b> v <b><nobr>%2</nobr></b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-522"/>
         <source>Discard</source>
         <comment>saved state</comment>
         <translation>Zavrzi</translation>
     </message>
     <message>
+        <location line="+1149"/>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="-35"/>
         <source><p>The host key is currently defined as <b>%1</b>.</p></source>
         <comment>additional message box paragraph</comment>
         <translation><p>Gostiteljska tipka je trenutno določena kot <b>%1</b>.</p></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Capture</source>
         <comment>do input capture</comment>
         <translation>Zajemi</translation>
     </message>
     <message>
+        <location line="-1167"/>
         <source>Check</source>
         <comment>inaccessible media message box</comment>
         <translation>Preveri</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Reset</source>
         <comment>machine</comment>
         <translation>Ponovno zaženi</translation>
     </message>
     <message>
+        <location line="+739"/>
         <source>Continue</source>
         <comment>no hard disk attached</comment>
         <translation>Nadaljuj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Go Back</source>
         <comment>no hard disk attached</comment>
         <translation>Pojdi nazaj</translation>
     </message>
     <message>
+        <location line="+464"/>
         <source><p>Could not enter seamless mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation><p>V tekoči način ni bilo mogoče vstopiti zaradi nezadostnega grafičnega pomnilnika gosta.</p><p>Grafični pomnilnik navideznega računalnika morate nastaviti na najmanj <b>%1</b>.</p></translation>
     </message>
     <message>
+        <location line="+152"/>
         <source>You are already running the most recent version of VirtualBox.</source>
         <translation>Že izvajate najnovejšo različico VirtualBoxa.</translation>
     </message>
     <message>
+        <location line="-227"/>
         <source><p>You have <b>clicked the mouse</b> inside the Virtual Machine display or pressed the <b>host key</b>. This will cause the Virtual Machine to <b>capture</b> the host mouse pointer (only if the mouse pointer integration is not currently supported by the guest OS) and the keyboard, which will make them unavailable to other applications running on your host machine.</p><p>You can press the <b>host key</b> at  [...]
         <translation><p>V zaslonu navideznega računalnika ste <b>kliknili miško</b> ali pritisnili <b>gostiteljsko tipko</b>. To bo povzročilo, da bo navidezni računalnik <b>zajel</b> kazalec miške gostitelja (samo če gostujoči OS trenutno ne podpira vključitve kazalca miške) in tipkovnico, in s tem ne bosta več na voljo drugim programom v gostiteljskem računalniku.</p><p>Kadarkoli lahko pritisnete <b>gostiteljsko tipko</b&gt [...]
     </message>
     <message>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="-13"/>
         <source><p>You have the <b>Auto capture keyboard</b> option turned on. This will cause the Virtual Machine to automatically <b>capture</b> the keyboard every time the VM window is activated and make it unavailable to other applications running on your host machine: when the keyboard is captured, all keystrokes (including system ones like Alt-Tab) will be directed to the VM.</p><p>You can press the <b>host key</b> at any time t [...]
         <translation><p>Vklopljeno imate možnost<b>samodejnega zajema tipkovnice</b>. To bo povzročilo, da bo navidezni računalnik samodejno <b>zajel</b> tipkovnico ob vsakom omogočanju okna navideznega računalnika in s tem ne bo več na voljo drugim programom v gostiteljskem računalniku: ko je tipkovnica zajeta, bodo vsi pritiski tipk (vključno s sistemskimi, kot je Alt+Tab) preusmerjeni v navidezni računalnik.</p><p>Kadarkoli lahko pritisnete &l [...]
     </message>
     <message>
+        <location line="+24"/>
         <source><p>The Virtual Machine reports that the guest OS supports <b>mouse pointer integration</b>. This means that you do not need to <i>capture</i> the mouse pointer to be able to use it in your guest OS -- all mouse actions you perform when the mouse pointer is over the Virtual Machine's display are directly sent to the guest OS. If the mouse is currently captured, it will be automatically uncaptured.</p><p>The mouse icon on the s [...]
         <translation><p>Navidezni računalnik sporoča, da gostujoči OS podpira <b>vključitev kazalca miške</b>. To pomeni, da vam ni treba <b>zajeti</b> kazalca miške, da ga lahko uporabite v gostujočem OS-u -- vsa dejanja miške, ki jih opravite, ko je kazalec miške v zaslonu navideznega računalnika, se bodo neposredno poslala v gostujoči OS. Če je miška trenutno zajeta, bo samodejno sproščena.</p><p>Ikona miške v vrstici stanja bo videti kot& [...]
     </message>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="-587"/>
         <source>Release</source>
         <comment>detach medium</comment>
         <translation>Sprosti</translation>
     </message>
     <message>
+        <location line="+51"/>
         <source>Remove</source>
         <comment>medium</comment>
         <translation>Odstrani</translation>
     </message>
     <message>
+        <location line="+184"/>
         <source><p>The hard disk storage unit at location <b>%1</b> already exists. You cannot create a new virtual hard disk that uses this location because it can be already used by another virtual hard disk.</p><p>Please specify a different location.</p></source>
         <translation><p>Enota pomnilniške naprave trdega diska na mestu <b>%1</b> že obstaja. Novega trdega diska, ki uporablja to mesto, ne morete ustvariti, ker ga že lahko uporablja drug navidezni trdi disk.</p><p>Navedite drugo mesto.</p></translation>
     </message>
     <message>
+        <location line="-165"/>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation>Izbriši</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Keep</source>
         <comment>hard disk storage</comment>
         <translation>Obdrži</translation>
     </message>
     <message>
+        <location line="+6"/>
+        <location line="+8"/>
         <source>Failed to delete the storage unit of the hard disk <b>%1</b>.</source>
         <translation>Brisanje enote pomnilniške naprave trdega diska <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+160"/>
+        <location line="+8"/>
+        <location line="+8"/>
         <source>Failed to create the hard disk storage <nobr><b>%1</b>.</nobr></source>
         <translation>Ustvarjanje pomnilniške naprave trdega diska <b>%1</b> je spodletelo.</nobr></translation>
     </message>
     <message>
+        <location line="-1029"/>
         <source>Failed to access the disk image file <nobr><b>%1</b></nobr>.</source>
         <translation>Dostop do datoteke odtisa diska <b>%1</b> je spodletel</nobr>.</translation>
     </message>
     <message>
+        <location line="+1947"/>
         <source>The following files already exist:<br /><br />%1<br /><br />Are you sure you want to replace them? Replacing them will overwrite their contents.</source>
         <translation>Naslednje datoteke že obstajajo:<br /><br />%1.<br /><br />Ali jih res želite nadomestiti? Njihova nadomestitev bo prepisala njihovo vsebino.</translation>
     </message>
     <message>
+        <location line="-2074"/>
         <source>You are running a prerelease version of VirtualBox. This version is not suitable for production use.</source>
         <translation>Izvajajte predizdajno različico VirtualBoxa. Ta različica ni primerna za proizvodno uporabo.</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="-31"/>
         <source>You are trying to shut down the guest with the ACPI power button. This is currently not possible because the guest does not support software shutdown.</source>
         <translation>Gosta poizkušate izklopiti z gumbom za izklop ACPI. To trenutno ni mogoče, ker gost ne podpira zaustavtve programske opreme.</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="+1422"/>
         <source><p>VT-x/AMD-V hardware acceleration has been enabled, but is not operational. Your 64-bit guest will fail to detect a 64-bit CPU and will not be able to boot.</p><p>Please ensure that you have enabled VT-x/AMD-V properly in the BIOS of your host computer.</p></source>
         <translation><p>Strojno pospeševanje VT-x/AMD-V je bilo omogočeno, vendar ne deluje. Vaš 64-bitni gost ne bo zaznal 64-bitnega CPE-ja in se ne bo mogel zagnati.</p><p>Prepričajte se, da ste pravilno omogočili VT-x/AMD-V v BIOS-u svojega gostiteljskega računalnika.</p></translation>
     </message>
     <message>
+        <location line="+4"/>
+        <location line="+6"/>
+        <location line="+11"/>
+        <location line="+6"/>
+        <location line="+11"/>
         <source>Close VM</source>
         <translation>Zapri navdezni računalnik</translation>
     </message>
     <message>
+        <location line="-223"/>
+        <location line="+189"/>
+        <location line="+6"/>
+        <location line="+11"/>
+        <location line="+6"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
+        <location line="-995"/>
+        <location line="+9"/>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="-167"/>
         <source>Cancel</source>
         <translation>Prekliči</translation>
     </message>
     <message>
+        <location line="+736"/>
         <source>Failed to open/interpret appliance <b>%1</b>.</source>
         <translation>Odpiranje/prepoznavanje namenske naprave <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to import appliance <b>%1</b>.</source>
         <translation>Uvoz namenske naprave <b>%1</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+36"/>
+        <location line="+8"/>
         <source>Failed to prepare the export of the appliance <b>%1</b>.</source>
         <translation>Priprava izvoza namenske naprave <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to export appliance <b>%1</b>.</source>
         <translation>Izvoz namenske naprave <b>%1</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="-686"/>
         <source><p>Deleting this host-only network will remove the host-only interface this network is based on. Do you want to remove the (host-only network) interface <nobr><b>%1</b>?</nobr></p><p><b>Note:</b> this interface may be in use by one or more virtual network adapters belonging to one of your VMs. After it is removed, these adapters will no longer be usable until you correct their settings by either choosing a different in [...]
         <translation><p>Izbris tega omrežja samo za gostitelja bo odstranil vmesnik samo za gostitelja, na katerem je osnovano to omrežje. Ali želite odstraniti vmesnik (omrežja samo za gostitelja) <nobr><b>%1</b>?</nobr></p><p><b>Opomba:</b> ta vmesnik lahko uporablja enega ali več navideznih omrežnih vmesnikov, ki pripadajo enemu od vaših navideznih računalnikov. Ko bo odstranjen, ti vmesniki ne bodo več uporabni, dokler ne popravit [...]
     </message>
     <message>
+        <location line="+1484"/>
         <source>A file named <b>%1</b> already exists. Are you sure you want to replace it?<br /><br />Replacing it will overwrite its contents.</source>
         <translation>Datoteka z imenom <b>%1</b> že obstaja. Ali jo res želite nadomestiti?<br /><br />Njena nadomestitev bo prepisala njeno vsebino.</translation>
     </message>
     <message>
+        <location line="-618"/>
         <source><p>VT-x/AMD-V hardware acceleration has been enabled, but is not operational. Certain guests (e.g. OS/2 and QNX) require this feature.</p><p>Please ensure that you have enabled VT-x/AMD-V properly in the BIOS of your host computer.</p></source>
         <translation><p>Strojno pospeševanje VT-x/AMD-V je bilo omogočeno, vendar ne deluje. Določeni gosti (npr. OS/2 in QNX) zahtevajo to značilnost.</p><p>Prepričajte se, da ste pravilno omogočili VT-x/AMD-V v BIOS-u svojega gostiteljskega računalnika.</p></translation>
     </message>
     <message>
+        <location line="-224"/>
         <source>Failed to check files.</source>
         <translation>Preverjanje datotek je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Failed to remove file.</source>
         <translation>Odstranjevanje datoteke je spodletelo.</translation>
     </message>
     <message>
+        <location line="-1239"/>
         <source>You seem to have the USBFS filesystem mounted at /sys/bus/usb/drivers. We strongly recommend that you change this, as it is a severe mis-configuration of your system which could cause USB devices to fail in unexpected ways.</source>
         <translation>Videti je, da imate na /sys/bus/usb/drivers priklopljen datotečni sistem USBFS. Zelo priporočamo, da to spremenite, ker je to resna napačna nastavitev vašega sistema, ki lahko povzroči, da naprave USB spodletijo na nepričakovane načine.</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>You are running an EXPERIMENTAL build of VirtualBox. This version is not suitable for production use.</source>
         <translation>Izvajate PREIZKUSNO izgradnjo VirtualBoxa. Ta različica ni primerna za proizvodno uporabo.</translation>
     </message>
     <message>
+        <location line="+447"/>
+        <location line="+9"/>
         <source>Restore</source>
         <translation>Obnovi</translation>
     </message>
     <message>
+        <location line="+12"/>
+        <location line="+17"/>
         <source>Delete</source>
         <translation>Izbriši</translation>
     </message>
     <message>
+        <location line="+24"/>
+        <location line="+9"/>
         <source>Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.</source>
         <translation>Obnovitev posnetka stanja <b>%1</b> navideznega računalnika <b>%2</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="+9"/>
+        <location line="+8"/>
         <source>Failed to delete the snapshot <b>%1</b> of the virtual machine <b>%2</b>.</source>
         <translation>Izbris posnetka stanja <b>%1</b> navideznega računalnika <b>%2</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+521"/>
         <source>Force Unmount</source>
         <translation>Vsili odklop</translation>
     </message>
     <message>
+        <location line="-330"/>
         <source>&Remove</source>
         <comment>medium</comment>
         <translation>&Odstrani</translation>
     </message>
     <message>
+        <location line="+696"/>
         <source><p>VT-x/AMD-V hardware acceleration is not available on your system. Your 64-bit guest will fail to detect a 64-bit CPU and will not be able to boot.</source>
         <translation><p>Strojno pospeševanje VT-x/AMD-V ni na voljo na vašem sistemu. Vaš 64-bitni gost ne bo zaznal 64-bitnega CPE-ja in se ne bo zagnal.</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source><p>VT-x/AMD-V hardware acceleration is not available on your system. Certain guests (e.g. OS/2 and QNX) require this feature and will fail to boot without it.</p></source>
         <translation><p>Strojno pospeševanje VT-x/AMD-V ni na voljo na vašem sistemu. Določeni gosti (npr. .OS/2 in QNX) zahtevajo to značilnost in se ne brez njega ne bodo zagnali.</p></translation>
     </message>
     <message>
+        <location line="+132"/>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation><p>Zaslona gosta ni bilo mogoče spremeniti v zaslon gostitelja zaradi nezadostnega grafičnega pomnilnika gosta.</p><p>Grafični pomnilnik navideznega računalnika morate nastaviti na najmanj <b>%1</b>.</p></translation>
     </message>
     <message>
+        <location line="-11"/>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch the screen anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Zaslona gosta ni bilo mogoče spremeniti v zaslon gostitelja zaradi nezadostnega grafičnega pomnilnika gosta.</p><p>Grafični pomnilnik navideznega računalnika bi morali nastaviti na najmanj  <b>%1</b>.</p><p>Pritisnite <b>Prezri</b>, da vseeno preklopite na zaslon ali <b>Prekliči</b>, da prekličete opravilo.</p></translation>
+        <translation><p>Zaslona gosta ni bilo mogoče spremeniti v zaslon gostitelja zaradi nezadostnega grafičnega pomnilnika gosta.</p><p>Grafični pomnilnik navideznega računalnika morate nastaviti na najmanj <b>%1</b>.</p><p>Pritisnite <b>Prezri</b>, da vseeno preklopite na zaslon ali <b>Prekliči</b>, da prekličete opravilo.</p></translation>
     </message>
     <message>
+        <location line="-1401"/>
         <source>Failed to open virtual machine located in %1.</source>
         <translation>Odpiranje navideznega računalnika na %1 je spodletelo.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to add virtual machine <b>%1</b> located in <i>%2</i> because its already present.</source>
         <translation>Dodajanje navideznega računalnika <b>%1</b> v <i>%2</i> je spodletelo, ker je že prisoten.</translation>
     </message>
     <message>
+        <location line="+126"/>
         <source>Delete all files</source>
         <translation>Izbriši vse datoteke</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove only</source>
         <translation>Samo odstrani</translation>
     </message>
     <message>
+        <location line="-83"/>
+        <location line="+75"/>
+        <location line="+272"/>
+        <location line="+18"/>
         <source>Remove</source>
         <translation>Odstrani</translation>
     </message>
     <message>
+        <location line="+114"/>
         <source><p>You are about to add a virtual hard disk to controller <b>%1</b>.</p><p>Would you like to create a new, empty file to hold the disk contents or select an existing one?</p></source>
         <translation><p>Ste pred dodajanjem navideznega trdega diska h krmilniku <b>%1</b>.</p><p>Ali želite ustvarti novo prazno datoteko, ki bo vsebovala vsebino diska, ali izbrati obstoječo?</p></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source><p>You are about to add a new floppy drive to controller <b>%1</b>.</p><p>Would you like to choose a virtual floppy disk to put in the drive or to leave it empty for now?</p></source>
         <translation><p>Ste pred dodajanjem novega disketnega pogona h krmilniku <b>%1</b>.</p><p>Ali želite izbrati navidezno disketo za vstavitev v pogon ali ga za zdaj pustiti praznega?</p></translation>
     </message>
     <message>
+        <location line="+275"/>
         <source>Failed to detach the hard disk (<nobr><b>%1</b></nobr>) from the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Odklop trdega diska (<nobr><b>%1</b></nobr>) z mesta <i>%2</i> računalnika <b>%3</b>.je spodletel.</translation>
     </message>
     <message>
+        <location line="+771"/>
         <source>Failed to update Guest Additions. The Guest Additions disk image file will be inserted for user installation.</source>
         <translation>Posodobitev Dodatkov za gosta je spodletela. Datoteka odtisa diska Dodatkov za gosta bo vstavljena za uporabniško namestitev.</translation>
     </message>
     <message>
+        <location line="+210"/>
+        <location line="+8"/>
         <source>Failed to install the Extension Pack <b>%1</b>.</source>
         <translation>Namestitev paketa razširitev <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="+8"/>
+        <location line="+8"/>
         <source>Failed to uninstall the Extension Pack <b>%1</b>.</source>
         <translation>Odstranitev paketa razširitev <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="-46"/>
         <source>&Remove</source>
         <translation>&Odstrani</translation>
     </message>
     <message>
+        <location line="-1179"/>
         <source>The current port forwarding rules are not valid. None of the host or guest port values may be set to zero.</source>
         <translation>Trenutna pravila posredovanja vrat niso veljavna. Nobena vrednost vrat gostitelja ali gosta ne sme biti nastavljena na nič.</translation>
     </message>
     <message>
+        <location line="+40"/>
         <source><p>There are unsaved changes in the port forwarding configuration.</p><p>If you proceed your changes will be discarded.</p></source>
         <translation><p>V nastavitvah posredovanja vrat so neshranjene sprememebe.</p><p>Če nadaljujete, bodo spremembe zavžene.</p></translation>
     </message>
     <message>
+        <location line="-66"/>
         <source>Failed to attach the hard disk (<nobr><b>%1</b></nobr>) to the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Priklop trdega diska (<nobr><b>%1</b></nobr>) na mesto <i>%2</i> računalnika <b>%3</b>.je spodeltel.</translation>
     </message>
     <message>
+        <location line="+180"/>
+        <location line="+8"/>
         <source><p>Note that the storage unit of this medium will not be deleted and that it will be possible to use it later again.</p></source>
         <translation><p>Upoštevajte za enota pomnilniške naprave tega nosilca ne bo izbrisana in jo bo mogoče kasneje spet uporabiti.</p></translation>
     </message>
     <message>
+        <location line="+585"/>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation><p>Okno navideznega računalnika bo sedaj preklopljeno na <b>tekoči</b> način. S pritiskom na <b>%1</b> se lahko kadarkoli vrnete na okenski način.</p><p>Upoštevajte, da je <i>gostiteljska</i> tipka trenutno določena kot <b>%2</b>.</p><p>Upoštevajte, da je v tekočem načinu glavna menijska vrstica skrita . Do nje lahko dostopate s pritiskom na <b>gostiteljsko tipko+Home</b>.</p [...]
     </message>
     <message>
+        <location line="+13"/>
         <source><p>The virtual machine window will be now switched to <b>Scale</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in scaled mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation><p>Okno navideznega računalnika bo sedaj preklopljeno na <b>umerjeni</b> način. S pritiskom na <b>%1</b> se lahko kadarkoli vrnete na okenski način.</p><p>Upoštevajte, da je <i>gostiteljska</i> tipka trenutno določena kot <b>%2</b>.</p><p>Upoštevajte, da je v umerjenem načinu glavna menijska vrstica skrita . Do nje lahko dostopate s pritiskom na <b>gostiteljsko tipko+Home</b>.&l [...]
     </message>
     <message>
+        <location line="+427"/>
+        <location line="+7"/>
         <source>Failed to open the Extension Pack <b>%1</b>.</source>
         <translation>Odpiranje paketa razširitev <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-94"/>
         <source><p>You are about to install a VirtualBox extension pack. Extension packs complement the functionality of VirtualBox and can contain system level software that could be potentially harmful to your system. Please review the description below and only proceed if you have obtained the extension pack from a trusted source.</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Name:&nbsp;&nbsp;</b></td><td>%1< [...]
         <translation><p>Ste pred namestitvijo paketa razširitev VirtualBox. Paketi razširitev dopolnijo delovanje VirtualBoxa in lahko vsebujejo programsko opremo na ravni sistema, ki mu je lahko škodljiva. Preglejte spodnji opis in nadaljujte samo, če ste paket razširitev pridobili iz zaupanja vrednega vira.</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Ime:&nbsp;&nbsp;</b></td><td>%1</td></tr><tr&g [...]
     </message>
     <message>
+        <location line="-20"/>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
         <source>Extension packs complement the functionality of VirtualBox and can contain system level software that could be potentially harmful to your system. Please review the description below and only proceed if you have obtained the extension pack from a trusted source.</source>
         <translation>Paketi razširitev dopolnijo delovanje VirtualBoxa in lahko vsebujejo programsko opremo na ravni sistema, ki mu je lahko škodljiva. Preglejte spodnji opis in nadaljujte samo, če ste paket razširitev pridobili iz zaupanja vrednega vira.</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source><p>An older version of the extension pack is already installed, would you like to upgrade? <p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Name:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>New Version:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Current Version:&nbsp;&nbsp;</b></td& [...]
         <translation><p>Nameščena je že starejša različica paketa razširitev, ali želite nadgraditi?<p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Ime:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>Nova različica:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Trenutna različica:&nbsp;&nbsp;</b></td&gt [...]
     </message>
     <message>
+        <location line="+10"/>
         <source>&Upgrade</source>
         <translation>&Nadgradi</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>An newer version of the extension pack is already installed, would you like to downgrade? <p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Name:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>New Version:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Current Version:&nbsp;&nbsp;</b></t [...]
         <translation><p>Nameščena je že novejša različica paketa razširitev, ali želite podgraditi?<p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Ime:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>Nova različica:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Trenutna različica:&nbsp;&nbsp;</b></td> [...]
     </message>
     <message>
+        <location line="+10"/>
         <source>&Downgrade</source>
         <translation>&Podgradi</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>The extension pack is already installed with the same version, would you like reinstall it? <p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Name:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>Version:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Description:&nbsp;&nbsp;</b></td>& [...]
         <translation><p>Nameščena je že enaka različica paketa razširitev, ali jo želite ponovno namestiti?<p>%1</p><p><table cellpadding=0 cellspacing=0><tr><td><b>Ime:&nbsp;&nbsp;</b></td><td>%2</td></tr><tr><td><b>Različica:&nbsp;&nbsp;</b></td><td>%3</td></tr><tr><td><b>Opis:&nbsp;&nbsp;</b></td><td>% [...]
     </message>
     <message>
+        <location line="+9"/>
         <source>&Reinstall</source>
         <translation>&Ponovno namesti</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>You are about to remove the VirtualBox extension pack <b>%1</b>.</p><p>Are you sure you want to proceed?</p></source>
         <translation><p>Ste pred odstranitvijo paketa razširitev za VirtualBox <b>%1</b>.</p><p>Ali res želite nadaljevati?</p></translation>
     </message>
     <message>
+        <location line="+58"/>
         <source>The extension pack <br><nobr><b>%1</b><nobr><br> was installed successfully.</source>
         <translation>Paket razširitev <br><nobr><b>%1</b><nobr><br> je bil uspešno nameščen.</translation>
     </message>
     <message>
+        <location line="-824"/>
         <source><p>Cannot create the machine folder <b>%1</b> in the parent folder <nobr><b>%2</b>.</nobr></p><p>Please check that the parent really exists and that you have permissions to create the machine folder.</p></source>
         <translation><p>Mape računalnika <b>%1</b> v nadrejeni mapi <nobr><b>%2</b> ni mogoče ustvariti.</nobr></p><p>Preverite, ali nadrejena mapa res obstaja in da imate dovoljenja za ustvarjanje mape računalnika.</p></translation>
     </message>
     <message>
+        <location line="-76"/>
         <source>Failed to register the virtual machine <b>%1</b>.</source>
         <translation>Registracija navideznega računalnika <b>%1</b> je spodeltela.</translation>
     </message>
     <message>
+        <location line="-419"/>
         <source><p>The machine settings were changed while you were editing them. You currently have unsaved setting changes.</p><p>Would you like to reload the changed settings or to keep your own changes?</p></source>
         <translation><p>Nastavitve računalnika so se med vašim urejanjem spremenile. Trenutno imate neshranjenne spremembe.</p><p>Ali želite ponovno naložiti spremenjene nastavitve ali obdržati svoje?</p></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Reload settings</source>
         <translation>Ponovno naloži nastavitve</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>Keep changes</source>
         <translation>Obdrži spremembe</translation>
     </message>
     <message>
+        <location line="-14"/>
         <source>The virtual machine that you are changing has been started. Only certain settings can be changed while a machine is running. All other changes will be lost if you close this window now.</source>
         <translation>Navidezni računalnik, ki ga spreminjate, se je zagnal. Med izvajanjem računalnika lahko spremenite samo določene nastavitve. Vse druge spremembe bodo izgubljene, če zdaj zaprete to okno.</translation>
     </message>
     <message>
+        <location line="+437"/>
+        <location line="+8"/>
         <source>Failed to clone the virtual machine <b>%1</b>.</source>
         <translation>Kloniranje navideznega računlanika <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-673"/>
         <source>Create a snapshot of the current machine state</source>
         <translation>Ustvari posnetek trenutnega stanja računalnika</translation>
     </message>
     <message>
+        <location line="+423"/>
         <source><p>Error changing disk image mode from <b>%1</b> to <b>%2</b>.</p></source>
         <translation><p>Napaka pri spreminjanju odtisa diska iz <b>%1</b> v <b>%2</b>.</p></translation>
     </message>
     <message>
+        <location line="+1514"/>
         <source>Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might not be installed on the host computer</source>
         <translation>Storitve posredniškega strežnika USB gostitelja ni bilo mogoče naložiti (VERR_FILE_NOT_FOUND. Storitev morda ni nameščena na gostiteljskem računalniku.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>VirtualBox is not currently allowed to access USB devices.  You can change this by adding your user to the 'vboxusers' group.  Please see the user manual for a more detailed explanation</source>
         <translation>VirtualBox trenutno ne sme dostopati do naprav USB. To lahko spremenite z dodajanjem svojega uporabnika v skupino 'vboxusers'. Za bolj podrobno razlago glejte uporabniški priročnik.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>VirtualBox is not currently allowed to access USB devices.  You can change this by allowing your user to access the 'usbfs' folder and files.  Please see the user manual for a more detailed explanation</source>
         <translation>VirtualBox trenutno ne sme dostopati do naprav USB. To lahko spremenite tako, da svojemu uporabniku dovolite dostop do mape in datotek 'usbfs'. Za bolj podrobno razlago glejte uporabniški priročnik.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>The USB Proxy Service has not yet been ported to this host</source>
         <translation>Storitev posredniškega strežnika USB še ni bila prenesena v tega gostitelja.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not load the Host USB Proxy service</source>
         <translation>Storitve posredniškega strežnika USB gostitelja ni bilo mogoče naložiti.</translation>
     </message>
     <message>
+        <location line="-1123"/>
         <source>Can't find snapshot named <b>%1</b>.</source>
         <translation>Posnetka stanja z imenom <b>%1</b> ni bilo mogoče najti.</translation>
     </message>
     <message>
+        <location line="+544"/>
         <source><p>You have an old version (%1) of the <b><nobr>%2</nobr></b> installed.</p><p>Do you wish to download latest one from the Internet?</p></source>
         <translation><p>Nameščeno imate staro različico (%1) <b><nobr>%2</nobr></b>.</p><p>Ali želite z interneta prejeti najnovejšo?</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Are you sure you want to download the <b><nobr>%1</nobr></b> from <nobr><a href="%2">%2</a></nobr> (size %3 bytes)?</p></source>
         <translation><p>Ali res želite prejeti <b><nobr>%1</nobr></b> iz <nobr><a href="%2">%2</a></nobr> (velikost %3 bajtov)?</p></translation>
     </message>
     <message>
+        <location line="+20"/>
         <source><p>The <b><nobr>%1</nobr></b> has been successfully downloaded from <nobr><a href="%2">%2</a></nobr> and saved locally as <nobr><b>%3</b>.</nobr></p><p>Do you wish to install this extension pack?</p></source>
         <translation><p><b><nobr>%1</nobr></b> je bil uspešno prejet iz <nobr><a href="%2">%2</a></nobr> in krajevno shranjen kot <nobr><b>%3</b>.</nobr></p><p>Ali želite namestiti paket razširitev?</p></translation>
     </message>
     <message>
+        <location line="+6"/>
+        <location line="+37"/>
         <source>Install</source>
         <comment>extension pack</comment>
         <translation>Namesti</translation>
     </message>
     <message>
+        <location line="-53"/>
         <source><p>The <b><nobr>%1</nobr></b> has been successfully downloaded from <nobr><a href="%2">%2</a></nobr> but can't be saved locally as <nobr><b>%3</b>.</nobr></p><p>Please choose another location for that file.</p></source>
         <translation><p><b><nobr>%1</nobr></b> je bil uspešno prejet iz <nobr><a href="%2">%2</a></nobr>, vendar ga ni mogoče krajevno shraniti kot <nobr><b>%3</b>.</nobr></p><p>Izberite drugo mesto za to datoteko.</p></translation>
     </message>
     <message>
+        <location line="-116"/>
         <source><p>You have version %1 of the <b><nobr>%2</nobr></b> installed.</p><p>You should download and install version %3 of this extension pack from Oracle!</p></source>
-        <translation><p>Nameščeno imate različico %1 <b><nobr>%2</nobr></b>.</p><p>Prejmite in namestite različico %3 tega paketa razširitev iz Oracla!</p></translation>
+        <translation><p>Nameščeno imate različico %1 <b><nobr>%2</nobr></b>.</p><p>Prejmite in namestite različico %3 tega paketa razširitev od Oracla!</p></translation>
     </message>
     <message>
+        <location line="-1701"/>
         <source><p>Failed to initialize COM because the VirtualBox global configuration directory <b><nobr>%1</nobr></b> is not accessible. Please check the permissions of this directory and of its parent directory.</p><p>The application will now terminate.</p></source>
         <translation><p>Začenjanje COM-a je spodletelo, ker mapa splošnih nastavitev VirtualBoxa <b><nobr>%1</nobr></b> ni na voljo. Preverite dovoljenja te in njene nadrejene mape.</p><p>Program se bo sedaj končal.</p></translation>
     </message>
     <message>
+        <location line="+200"/>
         <source><p>You are about to remove following virtual machine items from the machine list:</p><p><b>%1</b></p><p>Do you wish to proceed?</p></source>
         <translation><p>Ste pred odstranitvijo naslednjih predmetov navideznega računalnika s seznama računalnikov:</p><p><b>%1</b></p><p>Ali želite nadaljevati?</p></translation>
     </message>
     <message>
+        <location line="+55"/>
         <source><p>You are about to remove following inaccessible virtual machines from the machine list:</p><p>%1</p><p>Do you wish to proceed?</p></source>
         <translation><p>Ste pred odstranitvijo naslednjih nedostopnih navideznih računalnikov s seznama računalnikov:</p><p><b>%1</b></p><p>Ali želite nadaljevati?</p></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><p>You are about to remove following virtual machines from the machine list:</p><p>%1</p><p>Would you like to delete the files containing the virtual machine from your hard disk as well? Doing this will also remove the files containing the machine's virtual hard disks if they are not in use by another machine.</p></source>
         <translation><p>Ste pred odstranitvijo naslednjih nedostopnih navideznih računalnikov s seznama računalnikov:</p><p>%1</p><p>Ali bi radi iz trdega diska izbrisali tudi datoteke, ki vsebujejo navidezni računalnik? To bo odstranilo tudi datoteke, ki vsebujejo trde diske navideznega računalnika, če jih ne uporablja drug računalnik.</p></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><p>You are about to remove following virtual machines from the machine list:</p><p>%1</p><p>Would you like to delete the files containing the virtual machine from your hard disk as well?</p></source>
         <translation><p>Ste pred odstranitvijo naslednjih navideznih računalnikov s seznama računalnikov: <b>%1</b>.</p><p>Ali želite iz trdega diska izbrisati tudi datoteke, ki vsebujejo navidezni računalnik?</p></translation>
     </message>
     <message>
+        <location line="+1413"/>
         <source>Do you wish to cancel all current network operations?</source>
         <translation>Ali želite preklicati vsa trenutna omrežna opravila?</translation>
     </message>
     <message>
+        <location line="-1330"/>
         <source>ACPI Shutdown</source>
         <comment>machine</comment>
         <translation>Zaustavitev ACPI</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Power Off</source>
         <comment>machine</comment>
         <translation>Izklopi</translation>
     </message>
     <message>
+        <location line="+790"/>
         <source><p>Cannot remove the machine folder <nobr><b>%1</b>.</nobr></p><p>Please check that this folder really exists and that you have permissions to remove it.</p></source>
         <translation><p>Mape računalnika <nobr><b>%1</b> ni mogoče odstraniti.</nobr></p><p>Preverite, ali ta mapa res obstaja in da imate dovoljenja za njeno odstranitev.</p></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source><p>Cannot create the machine folder <b>%1</b> in the parent folder <nobr><b>%2</b>.</nobr></p><p>This folder already exists and possibly belongs to another machine.</p></source>
         <translation><p>Mape računalnika <nobr><b>%1</b> v nadrejeni mapi <nobr><b>%2</b> ni mogoče ustvaritii.</nobr></p><p>Mapa že obstaja in verjetno pripada drugemu računalniku.</p></translation>
     </message>
     <message>
+        <location line="-837"/>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation><p>Ali res želite zavreči shranjeno stanje naslednjih navideznih računalnikov?</p><p><b>%1</b></p><p>To opravilo je enakrovredno ponovnemu zagonu ali izklopu računalnika brez primerne zaustavitve gostujočega OS-a.</p></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source><p>Do you really want to reset the following virtual machines?</p><p><b>%1</b></p><p>This will cause any unsaved data in applications running inside it to be lost.</p></source>
         <translation><p>Ali res želite ponovno zagnati naslednje navidezne računalnike?</p><p><b>%1</b></p><p>To bo povzročilo izgubo vseh neshranjenih podatkov v izvajajočih se programih v njih.</p></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source><p>Do you really want to send an ACPI shutdown signal to the following virtual machines?</p><p><b>%1</b></p></source>
         <translation><p>Ali res želite v naslednje navidezne računalnike poslati signal zaustavitve ACPI?</p><p><b>%1</b></p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Do you really want to power off the following virtual machines?</p><p><b>%1</b></p><p>This will cause any unsaved data in applications running inside it to be lost.</p></source>
         <translation><p>Ali res želite izklopiti naslednje navidezne računalnike?</p><p><b>%1</b></p><p>To bo povzročilo izgubo vseh neshranjenih podatkov v izvajajočih se programih v njih.</p></translation>
     </message>
     <message>
+        <location line="-188"/>
         <source><p>You are trying to move machine <nobr><b>%1</b></nobr> to group <nobr><b>%2</b></nobr> which already have sub-group <nobr><b>%1</b></nobr>.</p><p>Please resolve this name-conflict and try again.</p></source>
         <translation><p>Poizkušate premakniti računalnik <nobr><b>%1</b></nobr> v skupino <nobr><b>%2</b></nobr>, ki že ima podskupino <nobr><b>%1</b></nobr>.</p><p>Razrešite ta spor z imeni in poizkusite znova.</p></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source><p>You are trying to move group <nobr><b>%1</b></nobr> to group <nobr><b>%2</b></nobr> which already have another item with the same name.</p><p>Would you like to automatically rename it?</p></source>
         <translation><p>Poizkušate premakniti skupino <nobr><b>%1</b></nobr> v skupino <nobr><b>%2</b></nobr>, ki že ima predmet z enakim imenom.</p><p>Ali jo želite samodejno preimenovati?</p></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Rename</source>
         <translation>Preimenuj</translation>
     </message>
     <message>
+        <location line="+250"/>
         <source><p>You are about to restore snapshot <nobr><b>%1</b></nobr>.</p><p>You can create a snapshot of the current state of the virtual machine first by checking the box below; if you do not do this the current state will be permanently lost. Do you wish to proceed?</p></source>
         <translation><p>Ste pred obnovitvijo posnetka stanja <nobr><b>%1</b></nobr>.</p><p>Posnetek trenutnega stanja navideznega računalnika lahko najprej ustvarite z označitvijo spodnjega polja; če tega ne storite, bo trenutno stanje za vedno izgubljeno. Ali želite nadaljevati?</p></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source><p>Are you sure you want to restore snapshot <nobr><b>%1</b></nobr>?</p></source>
         <translation><p>Ali res želite obnoviti posnetek stanja<nobr><b>%1</b></nobr>?</p></translation>
     </message>
     <message>
+        <location line="-250"/>
         <source>Failed to set groups of the virtual machine <b>%1</b>.</source>
         <translation>Nastavljanje skupin navideznega računalnika <b>%1</b> je spodeltelo.</translation>
     </message>
     <message>
+        <location line="+1249"/>
         <source><p>Could not start the machine <b>%1</b> because the following physical network interfaces were not found:</p><p><b>%2</b></p><p>You can either change the machine's network settings or stop the machine.</p></source>
         <translation><p>Računalnika <b>%1</b> ni bilo mogoče zagnati, ker naslednjih fizičnih omrežnih vmesnikov ni bilo najdenih:</p><p><b>%2</b></p><p>Lahko spremenite omrežne nastavitve računalnika ali ga ustavite.</p></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Change Network Settings</source>
         <translation>Spremeni omrežne nastavitve</translation>
     </message>
     <message>
+        <location line="-1467"/>
         <source><p>Cannot start the VirtualBox Manager due to local restrictions.</p><p>The application will now terminate.</p></source>
         <translation><p>Upravljalnika VirtualBoxa ni mogoče zagnati zaradi krajevnih omejitev.</p><p>Program se bo sedaj zaprl.</p></translation>
     </message>
     <message>
+        <location line="+57"/>
         <source><p>Could not find a language file for the language <b>%1</b> in the directory <b><nobr>%2</nobr></b>.</p><p>The language will be temporarily reset to the system default language. Please go to the <b>Preferences</b> window which you can open from the <b>File</b> menu of the VirtualBox Manager window, and select one of the existing languages on the <b>Language</b> page.</p></source>
         <translation><p>Datoteke jezika <b>%1</b> v mapi <b><nobr>%2</nobr></b> ni bilo mogoče najti.</p><p>Jezik bo začasno ponastavljen na sistemsko privzetega. Pojdite v okno <b>Možnosti</b>, ki ga lahko odprete iz menija<b>Datoteka</b> okna Upravljalnika VirtualBoxa in izbiro enega od obstoječih jezikov na strani <b>Jeziki</b>.</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Could not load the language file <b><nobr>%1</nobr></b>. <p>The language will be temporarily reset to English (built-in). Please go to the <b>Preferences</b> window which you can open from the <b>File</b> menu of the VirtualBox Manager window, and select one of the existing languages on the <b>Language</b> page.</p></source>
         <translation><p>Datoteke jezika <b><nobr>%1</nobr></b> ni bilo mogoče naložiti.<p>Jezik bo začasno ponastavljen na angleščino (vgrajeno). Pojdite v okno <b>Možnosti</b>, ki ga lahko odprete iz menija<b>Datoteka</b> okna Upravljalnika VirtualBoxa in izbiro enega od obstoječih jezikov na strani <b>Jeziki</b>.</p></translation>
     </message>
     <message>
+        <location line="+36"/>
         <source>There is no virtual machine with the identifier <b>%1</b>.</source>
         <translation>Navidezni računalnik z določilom <b>%1</b> ne obstaja.</translation>
     </message>
     <message>
+        <location line="+234"/>
+        <location line="+1065"/>
+        <location line="+156"/>
+        <location line="+21"/>
         <source>Ignore</source>
         <translation>Prezri</translation>
     </message>
     <message>
+        <location line="-981"/>
         <source>Failed to create NAT network.</source>
         <translation>Ustvarjanje omrežja NAT je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Failed to remove NAT network <b>%1</b>.</source>
         <translation>Odstranjevanje omrežja NAT <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to create DHCP server.</source>
         <translation>Ustvarjanje strežnika DHCP je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Failed to remove DHCP server for network interface <b>%1</b>.</source>
         <translation>Odstranjevanje strežnika DHCP za omrežni vmesnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+8"/>
+        <location line="+7"/>
         <source>Failed to create the host network interface.</source>
         <translation>Ustvarjanje omrežnega vmesnika gostitelja je spodletelo.</translation>
     </message>
     <message>
+        <location line="+73"/>
         <source>Create &new disk</source>
         <translation>&Ustvari nov disk</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>&Choose existing disk</source>
         <translation>I&zberi obstoječi disk</translation>
     </message>
     <message>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Leave &empty</source>
         <translation>&Pusti prazno</translation>
     </message>
     <message>
+        <location line="-11"/>
+        <location line="+11"/>
         <source>&Choose disk</source>
         <translation>I&zberi disk</translation>
     </message>
     <message>
+        <location line="+183"/>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation><p>Ali res želite odstraniti navidezni disk <b><nobr>%1</nobr></b> s seznama znanih datotek odtisa diska?</p></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
         <translation><p>Ker je ta trdi disk nedostopen, njegove datoteke odtisa ni mogoče izbrisati.</p></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation><p>Ali res želite odstraniti navidezni optični disk <b><nobr>%1</nobr></b> s seznama znanih datotek odtisa diska?</p></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation><p>Ali res želite odstraniti navidezno disketo <b><nobr>%1</nobr></b> s seznama znanih datotek odtisa diska?</p></translation>
     </message>
     <message>
+        <location line="+93"/>
         <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation><p>Vstavitev navideznega optičnega diska <b>%1</b> v računalnik <b>%2</b>ni mogoča.</p></translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+16"/>
         <source><p>Would you like to try to force insertion of this disk?</p></source>
         <translation><p>Ali bi radi poizkusili vsiliti vstavitev tega diska?</p></translation>
     </message>
     <message>
+        <location line="-12"/>
         <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation><p>Navideznega optičnega diska <b>%1</b> iz računalnika <b>%2</b>ni mogoče izvreči.</p></translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+16"/>
         <source><p>Would you like to try to force ejection of this disk?</p></source>
         <translation><p>Ali bi radi poizkusili vsiliti, da se ta disk izvrže?</p></translation>
     </message>
     <message>
+        <location line="-8"/>
         <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation>Vstavitev navidezne diskete <b>%1</b> v računalnik <b>%2</b>ni mogoča.</p></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation><p>Navidezne diskete <b>%1</b> iz računalnika <b>%2</b>ni mogoče izvreči.</p></translation>
     </message>
     <message numerus="yes">
+        <location line="+181"/>
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
         <translation>
@@ -5721,258 +7170,331 @@
         </translation>
     </message>
     <message>
+        <location line="+285"/>
+        <location line="+13"/>
+        <location line="+13"/>
         <source>Switch</source>
         <translation>Preklopi</translation>
     </message>
     <message>
+        <location line="+108"/>
         <source>Failed to enable the remote desktop server for the virtual machine <b>%1</b>.</source>
         <translation>Omogočanje strežnika oddaljenega namizja za navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Failed to disable the remote desktop server for the virtual machine <b>%1</b>.</source>
         <translation>Onemogočanje strežnika oddaljenega namizja za navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>Failed to enable video capturing for the virtual machine <b>%1</b>.</source>
-        <translation>Omogočanje zajema video posnetkov za navidezni računalnik <b>%1</b> je spodletelo.</translation>
+        <translation>Omogočanje zajema videoposnetkov za navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Failed to disable video capturing for the virtual machine <b>%1</b>.</source>
-        <translation>Onemogočanje zajema video posnetkov za navidezni računalnik <b>%1</b> je spodletelo.</translation>
+        <translation>Onemogočanje zajema videoposnetkov za navidezni računalnik <b>%1</b> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+83"/>
         <source><p>Could not find the <b>VirtualBox Guest Additions</b> disk image file.</p><p>Do you wish to download this disk image file from the Internet?</p></source>
         <translation><p>Datoteke odtisa diska <b>Dodatkov za gosta VirtualBox</b> ni bilo mogoče najti.</p><p>Ali želite prejeti to datoteko odtisa diska iz interneta?</p></translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location line="+10"/>
+        <location line="+40"/>
+        <location line="+10"/>
+        <location line="+29"/>
+        <location line="+10"/>
         <source>Download</source>
         <translation>Prejmi</translation>
     </message>
     <message>
+        <location line="-93"/>
         <source><p>Are you sure you want to download the <b>VirtualBox Guest Additions</b> disk image file from <nobr><a href="%1">%1</a></nobr> (size %2 bytes)?</p></source>
         <translation><p>Ali res želite prejeti datoteko odtisa diska <b>Dodatkov za gosta VirtualBox</b> iz <nobr><a href="%1">%1</a></nobr> (velikost %2 bajtov)?</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>The <b>VirtualBox Guest Additions</b> disk image file has been successfully downloaded from <nobr><a href="%1">%1</a></nobr> but can't be saved locally as <nobr><b>%2</b>.</nobr></p><p>Please choose another location for that file.</p></source>
         <translation><p>Datoteka odtisa diska <b>Dodatkov za gosta VirtualBox</b> je bila uspešno prejeta iz <nobr><a href="%1">%1</a></nobr>, vendar je ni mogoče krajevno shraniti kot <nobr><b>%2</b>.</nobr></p><p>Izberite drugo mesto za to datoteko.</p></translation>
     </message>
     <message>
+        <location line="+30"/>
         <source><p>Could not find the <b>VirtualBox User Manual</b> <nobr><b>%1</b>.</nobr></p><p>Do you wish to download this file from the Internet?</p></source>
         <translation><p><b>Uporabniškega priročnika za VirtualBox</b> <nobr><b>%1</b> ni bilo mogoče najti.</nobr></p><p>Ali želite prejeti to datoteko iz interneta?</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Are you sure you want to download the <b>VirtualBox User Manual</b> from <nobr><a href="%1">%1</a></nobr> (size %2 bytes)?</p></source>
         <translation><p>Ali res želite prejeti <b>uporabniški priročnik za VirtualBox</b> iz <nobr><a href="%1">%1</a></nobr> (velikost %2 bajtov)?</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>The VirtualBox User Manual has been successfully downloaded from <nobr><a href="%1">%1</a></nobr> but can't be saved locally as <nobr><b>%2</b>.</nobr></p><p>Please choose another location for that file.</p></source>
         <translation><p>Uporabniški priročnik za VirtualBox je bil uspešno prejet iz <nobr><a href="%1">%1</a></nobr>, vendar ga ni mogoče krajevno shraniti kot <nobr><b>%2</b>.</nobr></p><p>Izberite drugo mesto za to datoteko.</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>The VirtualBox User Manual has been successfully downloaded from <nobr><a href="%1">%1</a></nobr> and saved locally as <nobr><b>%2</b>.</nobr></p></source>
         <translation><p>Uporabniški priročnik za VirtualBox je bil uspešno prejet iz <nobr><a href="%1">%1</a></nobr> in krajevno shranjen kot <nobr><b>%2</b>.</nobr></p></translation>
     </message>
     <message>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="-46"/>
         <source>Close</source>
         <translation>Zapri</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>Ok</source>
         <translation>V redu</translation>
     </message>
     <message>
+        <location filename="../src/widgets/UIPopupPaneButtonPane.cpp" line="-1"/>
         <source>Do not show this message again</source>
         <translation>Tega sporočila ne prikazuj več</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="-1245"/>
         <source><p>Do you want to remove the NAT network <nobr><b>%1</b>?</nobr></p><p>If this network is in use by one or more virtual machine network adapters these adapters will no longer be usable until you correct their settings by either choosing a different network name or a different adapter attachment type.</p></source>
         <translation><p>Ali želite odstraniti omrežje NAT <nobr><b>%1</b>?</nobr></p><p>Če to omrežje uporablja en ali več omrežnih vmesnikov navideznega računalnika, ti ne bodo več uporabni, dokler ne popravite njihove nastavitve z izbiro drugega imena omrežja ali druge vrste priklopa vmesnika.</p></translation>
     </message>
     <message>
+        <location line="+1063"/>
         <source>Failed to attach the webcam <b>%1</b> to the virtual machine <b>%2</b>.</source>
         <translation>Priklop spletne kamere <b>%1</b> v navidezni računalnik <b>%2</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to detach the webcam <b>%1</b> from the virtual machine <b>%2</b>.</source>
         <translation>Odklop spletne kamere <b>%1</b> z navideznega računalnika <b>%2</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+37"/>
         <source><p>The VirtualBox Guest Additions do not appear to be available on this virtual machine, and shared folders cannot be used without them. To use shared folders inside the virtual machine, please install the Guest Additions if they are not installed, or re-install them if they are not working correctly, by selecting <b>Insert Guest Additions CD image</b> from the <b>Devices</b> menu. If they are installed but the machine is not yet fully starte [...]
-        <translation><p>Videti je, da Dodatki za gosta VirtualBox na tem navideznem računalniku niso na voljo in brez njih deljenih map ni mogoče uporabiti. Da jih uporabite v navideznem računalniku, namestite Dodatke za gosta, če še niso nameščeni, ali jih z izbiro <b>Vstavi odtis CD Dodatkov za gosta</b> iz menija <b>Naprave</b> ponovno namestite, če ne delujejo pravilno.Če so nameščeni, vendar se računalnik še ni popolnoma zagnal, bodo na voljo, ko se pop [...]
+        <translation><p>Videti je, da Dodatki za gosta VirtualBox na tem navideznem računalniku niso na voljo in brez njih souporabe map ni mogoče uporabiti. Da jo uporabite v navideznem računalniku, namestite Dodatke za gosta, če še niso nameščeni, ali jih z izbiro <b>Vstavi odtis CD Dodatkov za gosta</b> iz menija <b>Naprave</b> ponovno namestite, če ne delujejo pravilno. Če so  Dodatki za gosta nameščeni, vendar se računalnik še ni popolnoma zagnal, bodo  [...]
     </message>
     <message>
+        <location line="+93"/>
         <source>Insert</source>
         <comment>additions</comment>
         <translation>Vstavi</translation>
     </message>
     <message>
+        <location filename="../src/globals/UIPopupCenter.cpp" line="+237"/>
         <source><p>The virtual screen is currently set to a <b>%1&nbsp;bit</b> color mode. For better performance please change this to <b>%2&nbsp;bit</b>. This can usually be done from the <b>Display</b> section of the guest operating system's Control Panel or System Settings.</p></source>
         <translation><p>Navidezni zaslon je trenutno nastavljen na <b>%1-bitni</b> barvni način. Za boljšo zmogljivost to spremenite na <b>%2-bitnega</b>. To običajno lahko storite iz odseka<b>Zaslon</b> Nadzorne plošče gostujočega operacijskega sistema ali sistemskih nastavitev.</p></translation>
     </message>
     <message>
+        <location filename="../src/globals/UIMessageCenter.cpp" line="-961"/>
         <source>The current port forwarding rules are not valid. Rule names should be unique.</source>
         <translation>Trenutna pravila posredovanja vrat niso veljavna. Imena pravil morajo biti edinstvena.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>The current port forwarding rules are not valid. Few rules have same host ports and conflicting IP addresses.</source>
         <translation>Trenutna pravila posredovanja vrat niso veljavna. Nekaj pravil ima enaka vrata gostitelja in naslove IP v sporu.</translation>
     </message>
     <message>
+        <location line="-771"/>
         <source><p>Failed to create the VirtualBoxClient COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>Ustvarjanje predmeta COM odjemalca VirtualBox je spodletelo.</p><p>Program se bo sedaj zaprl.</p></translation>
     </message>
     <message>
+        <location line="+109"/>
         <source>Failed to set the global VirtualBox extra data for key <i>%1</i> to value <i>{%2}</i>.</source>
         <translation>Nastavitev splošnih dodatnih podatkov VirtualBoxa za ključ <i>%1</i> na vrednost <i>{%2}</i> je spodletela.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Failed to set the extra data for key <i>%1</i> of machine <i>%2</i> to value <i>{%3}</i>.</source>
         <translation>Nastavitev dodatnih podatkov za ključ <i>%1</i> računalnika  <i>%2</i> na vrednost <i>{%3}</i> je spodletela.</translation>
     </message>
     <message>
+        <location line="+399"/>
         <source>Failed to save the settings.</source>
         <translation>Shranjevanje nastavitev je spodletela.</translation>
     </message>
     <message>
+        <location line="+157"/>
         <source><p>You are about to add a new optical drive to controller <b>%1</b>.</p><p>Would you like to choose a virtual optical disk to put in the drive or to leave it empty for now?</p></source>
         <translation><p>Ste pred dodajanjem novega optičnega profila h krmilniku <b>%1</b>.</p><p>Ali želite izbrati navidezni optični disk za vstavitev v pogon ali ga za zdaj pustiti praznega?</p></translation>
     </message>
     <message>
+        <location line="+22"/>
         <source><p>Are you sure you want to delete the optical drive?</p><p>You will not be able to insert any optical disks or ISO images or install the Guest Additions without it!</p></source>
         <translation><p>Ali res želite izbrisati optični pogon?</p><p>Brez njega ne boste mogli vstavljati optičnih diskov ali odtisov ISO, ali namestiti Dodatkov za gosta!</p></translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Failed to attach the optical drive (<nobr><b>%1</b></nobr>) to the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Priklop optičnega pogona (<nobr><b>%1</b></nobr>) na mesto <i>%2</i> računalnika <b>%3</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Failed to attach the floppy drive (<nobr><b>%1</b></nobr>) to the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Priklop disketnega pogona (<nobr><b>%1</b></nobr>) na mesto <i>%2</i> računalnika <b>%3</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+240"/>
         <source>Failed to detach the optical drive (<nobr><b>%1</b></nobr>) from the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Odklop optičnega pogona (<nobr><b>%1</b></nobr>) z mesta <i>%2</i> računalnika <b>%3</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Failed to detach the floppy drive (<nobr><b>%1</b></nobr>) from the slot <i>%2</i> of the machine <b>%3</b>.</source>
         <translation>Odklop disketnega pogona (<nobr><b>%1</b></nobr>) z mesta <i>%2</i> računalnika <b>%3</b> je spodletel.</translation>
     </message>
     <message>
+        <location line="+671"/>
         <source><p>Could not insert the <b>VirtualBox Guest Additions</b> disk image file into the virtual machine <b>%1</b>, as the machine has no optical drives. Please add a drive using the storage page of the virtual machine settings window.</p></source>
         <translation><p>Datoteke odtisa diska<b>Dodatkov za gosta VirtualBox</b> ni bilo mogoče vstaviti v računalnik <b>%1</b>, ker nima optičnih pogonov. Dodajte pogon z uporabo strani pomnilnških naprav okna nastavitev navideznega računalnika.</p></translation>
     </message>
     <message>
+        <location line="+76"/>
         <source><p>The <b>VirtualBox Guest Additions</b> disk image file has been successfully downloaded from <nobr><a href="%1">%1</a></nobr> and saved locally as <nobr><b>%2</b>.</nobr></p><p>Do you wish to register this disk image file and insert it into the virtual optical drive?</p></source>
         <translation><p>Datoteka odtisa diska <b>Dodatkov za gosta VirtualBox</b> je bila uspešno prejeta iz <nobr><a href="%1">%1</a></nobr>in krajevno shranjena kot <nobr><b>%2</b>.</nobr></p><p>Ali želite registrirati to datoteko odtisa diska in jo vstaviti v navidezni optični pogon?</p></translation>
     </message>
     <message>
+        <location line="-477"/>
+        <location line="+410"/>
         <source>Bad password or authentication failure.</source>
         <translation>Slabo geslo ali spodletela overitev.</translation>
     </message>
     <message>
+        <location line="-310"/>
         <source><p>A critical error has occurred while running the virtual machine and the machine execution has been stopped.</p><p>For help, please see the Community section on <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> or your support contract. Please provide the contents of the log file <tt>VBox.log</tt> and the image file <tt>VBox.png</tt>, which you can find in the <nobr><b>%1</b></nob [...]
         <translation><p>Med izvajanjem navideznega računalnika se je pojavila kritična napaka in izvajanje računalnika se je ustavilo</p><p>Za pomoč si oglejte odsek skupnosti na<a href=https://www.virtualbox.org>https://www.virtualbox.org</a> ali vaš stik za podporo. Priskrbite vsebino datoteke dnevnika<tt>VBox.log</tt> in datoteko odtisa <tt>VBox.png</tt>, ki ju lahko neposredno najdete v <nobr><b>%1</b></nobr&g [...]
     </message>
     <message>
+        <location line="+26"/>
         <source><p>A critical error has occurred while running the virtual machine and the machine execution should be stopped.</p><p>For help, please see the Community section on <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> or your support contract. Please provide the contents of the log file <tt>VBox.log</tt>, which you can find in the virtual machine log directory, as well as a description of what you were doing when this  [...]
         <translation><p>Med izvajanjem navideznega računalnika se je pojavila kritična napaka in izvajanje računalnika bi bilo treba ustaviti.</p><p>Za pomoč si oglejte odsek skupnosti na<a href=https://www.virtualbox.org>https://www.virtualbox.org</a> ali vaš stik za podporo. Priskrbite vsebino datoteke dnevnika<tt>VBox.log</tt>, ki jo lahko neposredno najdete v mapi dnevnikov navideznega računalnika, kot tudi opis vaših dejanj, ko se je ta napa [...]
     </message>
     <message>
+        <location line="+298"/>
         <source><p>A new version of VirtualBox has been released! Version <b>%1</b> is available at <a href="https://www.virtualbox.org/">virtualbox.org</a>.</p><p>You can download this version using the link:</p><p><a href=%2>%3</a></p></source>
         <translation><p>Izdana  je bila nova rezličica VirtualBoxa! Različica <b>%1</b> je  na voljo na <a href="https://www.virtualbox.org/">virtualbox.org</a>.</p><p>To različico lahko prejmete z uporabo povezave:</p><p><a href=%2>%3</a></p></translation>
     </message>
     <message>
+        <location line="+315"/>
+        <location line="+7"/>
         <source>Drag and drop operation from host to guest failed.</source>
         <translation>Opravilo vlečenja in spuščanja iz gostitelja v gosta je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Unable to cancel host to guest drag and drop operation.</source>
         <translation>Opravila vlečenja in spuščanja iz gostitelja v gosta ni mogoče preklicati.</translation>
     </message>
     <message>
+        <location line="+7"/>
+        <location line="+7"/>
         <source>Drag and drop operation from guest to host failed.</source>
         <translation>Opravilo vlečenja in spuščanja iz gosta v gostitelja je spodletelo.</translation>
     </message>
     <message>
+        <location line="-385"/>
         <source>Failed to connect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation>Priklop kabla omrežnega vmesnika navideznega računalnika <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation>Odklop kabla omrežnega vmesnika navideznega računalnika <b>%1</b> je spodletela.</translation>
     </message>
     <message>
+        <location line="-1335"/>
         <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Ena ali več datotek odtisa diska trenutno ni na voljo.Posledično ne boste mogli upravljati z navideznimi računalniki, ki uporabljajo te datoteke, dokler spet ne postanejo dostopne.</p><p>Pritisnite <b>Preveri</b>, da odprete Upravljalnika navideznih nosilcev, da vidite, katere datoteke niso dostopne ali <b>Prezri</b>, da prezrete to sporočilo.</p></translation>
+        <translation><p>Ena ali več datotek odtisa diska trenutno ni na voljo. Posledično ne boste mogli upravljati z navideznimi računalniki, ki uporabljajo te datoteke, dokler spet ne postanejo dostopne.</p><p>Pritisnite <b>Preveri</b>, da odprete Upravljalnika navideznih nosilcev in si ogledate, katere datoteke niso dostopne ali <b>Prezri</b>, da prezrete to sporočilo.</p></translation>
     </message>
     <message>
+        <location line="+146"/>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
         <translation><p>Izbris posnetka stanja po povzročil izgubo podatkov stanja, ki so shranjeni v njem, in podatki pomnilniških naprav razdeljeni v več datotek odtisa, ki jih je VirtualBox ustvaril skupaj s posnetkom stanja, bodo združeni v eno datoteko. To je lahko dolgo opravilo in podatkov posnetka stanja ni mogoče obnoviti.</p></p>Ali res želite izbrisati izbrane posnetke stanja<b>%1</b>?</p></translation>
     </message>
     <message>
+        <location line="+17"/>
         <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
         <translation><p>Izbris posnetka stanja %1 bo začasno potreboval več prostora.V najslabšem primeru se bo velikost odtisa %2 povečala za %3, vendar je v tem datotečnem sistemu na voljo samo %4.</p></p>Pomanjkanje prostora med opravilom združevanja lahko povzroči okvaro odtisa in nastavitev navideznega računalnika, kar pomeni izgubo navideznega računalnka in njegovih podatkov.</p><p>Posnetek stanja lahko izbrišete na lastno odgovornost.</p></translation>
     </message>
     <message>
+        <location line="+405"/>
         <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
         <translation><p>Ali res želite sprostiti datoteko odtisa diska <nobr><b>%1</b></nobr>?</p><p>To jo bo odklopilo iz naslednjih navideznih računalnikov: <b>%2</b>.</p></translation>
     </message>
     <message>
+        <location line="+63"/>
         <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
         <translation><p>Ali želite izbrisati enoto pomnilniške naprave <nobr><b>%1</b></nobr>?</p><p>Če izberete <b>Izbriši</b>, potem bo enota trajno izbrisana. Tega opravila <b>ni mogoče razveljaviti</b>.</p><p>Če izberete <b>Obdrži</b>, potem bo trdi disk odstranjen samo s seznama znanih trdih diskov, vendar bo enota pomnilniške naprave ostala nedotaknjena, kar omogoča kasnejše ponovno dodajanje  [...]
     </message>
     <message>
+        <location line="+120"/>
         <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
         <translation>Odpiranje datoteke odtisa diska <nobr><b>%1</b></nobr> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
         <translation>Zapiranje datoteke odtisa diska <nobr><b>%1</b></nobr> je spodletelo.</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
         <translation>Ste pred ustvarjanjem novega navideznega računalnika brez trdega diska. Na računalniku ne boste mogli namestiti operacijskega sistema, dokler ne dodate trdega diska. Medtem boste računalnik lahko zagnali samo z uporabo navideznega optičnega diska ali omrežja.</translation>
     </message>
     <message>
+        <location line="+420"/>
         <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation><p>Okno navideznega računalnika bo sedaj preklopljeno na <b>celozaslonski</b> način. S pritiskom na <b>%1</b> se lahko kadarkoli vrnete na okenski način.</p><p>Upoštevajte, da je <i>gostiteljska</i> tipka trenutno določena kot <b>%2</b>.</p><p>Upoštevajte, da je v celozaslonskem načinu glavna menijska vrstic skrita. Do nje lahko dostopate s pritiskom na <b>gostiteljsko tipko+Home</ [...]
     </message>
     <message>
+        <location line="+39"/>
         <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
         <translation><p>Zaslona gosta ni bilo mogoče preklopiti na celozaslonski način zaradi nezadostnega grafičnega pomnilnika gosta.</p><p>Grafični pomnilnik navideznega računalnika morate nastaviti na najmanj <b>%1</b>.</p><p>Pritisnite <b>Prezri</b>, da vseeno preklopite na celozaslonski način ali <b>Prekliči</b>, da prekličete opravilo.</p></translation>
     </message>
     <message>
+        <location line="-1387"/>
         <source>Encryption password for <nobr>ID = '%1'</nobr> is invalid.</source>
         <translation>Šifrirno geslo za <nobr>ID = '%1'</nobr> je neveljavno.</translation>
     </message>
     <message>
+        <location line="+622"/>
         <source>The current port forwarding rules are not valid. All of the host or guest address values should be correct or empty.</source>
         <translation>Trenutna pravila posredovanja vrat niso veljavna. Vse vrednosti naslovov gosta morajo biti pravilne ali prazne.</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>The current port forwarding rules are not valid. None of the guest address values may be empty.</source>
         <translation>Trenutna pravila posredovanja vrat niso veljavna. Nobena vrednost naslovov gosta ne sme biti prazna.</translation>
     </message>
     <message>
+        <location line="-747"/>
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Pridobivanje predmeta VirtualBox COM je spodletelo.</p><p>Program se bo sedaj zaprl.</p></translation>
     </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
     <message>
+        <location filename="../src/widgets/UIMiniToolBar.cpp" line="+294"/>
         <source>Always show the toolbar</source>
         <translation>Vedno prikaži orodno vrstico</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Minimize Window</source>
         <translation>Skrči okno</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Exit Full Screen or Seamless Mode</source>
         <translation>Izhod iz celozaslonskega ali tekočega načina</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Close VM</source>
         <translation>Zapri navidezni računalnik</translation>
     </message>
@@ -5980,10 +7502,14 @@
 <context>
     <name>UIMultiScreenLayout</name>
     <message>
+        <location filename="../src/runtime/UIActionPoolRuntime.cpp" line="+614"/>
+        <location line="+15"/>
+        <location line="+47"/>
         <source>Virtual Screen %1</source>
         <translation>Navidezni zaslon %1</translation>
     </message>
     <message>
+        <location line="+221"/>
         <source>Use Host Screen %1</source>
         <translation>Uporabi zaslon gostitelja %1</translation>
     </message>
@@ -5991,65 +7517,80 @@
 <context>
     <name>UINameAndSystemEditor</name>
     <message>
+        <location filename="../src/widgets/UINameAndSystemEditor.cpp" line="+279"/>
         <source>N&ame:</source>
         <translation>I&me:</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Holds the name of the virtual machine.</source>
         <translation>Vsebuje ime navideznega računalnika.</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>&Type:</source>
         <translation>&Vrsta:</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Selects the operating system family that you plan to install into this virtual machine.</source>
         <translation>Izbere družino operacijskih sistemov, ki jo želite namestiti v ta navidezni računalnik.</translation>
     </message>
     <message>
+        <location line="-5"/>
         <source>&Version:</source>
         <translation>&Različica:</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Selects the operating system type that you plan to install into this virtual machine (called a guest operating system).</source>
         <translation>Izbere vrsto operacijskega sistema, ko jo želite namestiti v ta navidezni računalnik (gostujoči operacijski sistem).</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>Holds the location of the virtual machine.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vsebuje mesto navideznega računalnika.</translation>
     </message>
 </context>
 <context>
     <name>UINetworkManagerDialog</name>
     <message>
+        <location filename="../src/net/UINetworkManagerDialog.cpp" line="+160"/>
         <source>Network Operations Manager</source>
         <translation>Upravljalnik omrežnih opravil</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>There are no active network operations.</source>
         <translation>Ni dejavnih omrežnih opravil.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Cancel All</source>
         <translation>&Prekliči vse</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel all active network operations</source>
         <translation>Prekliči vsa dejavna omrežna opravila</translation>
     </message>
     <message>
+        <location filename="../src/net/UINetworkRequestWidget.cpp" line="+187"/>
         <source>Network Operation</source>
         <translation>Omrežno opravilo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Restart network operation</source>
         <translation>Ponovno zaženi omrežno opravilo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Cancel network operation</source>
         <translation>Prekliči omrežno opravilo</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>The network operation failed with the following error: %1.</source>
         <translation>Omrežno opravilo je spodletelo z naslednjo napako: %1.</translation>
     </message>
@@ -6057,19 +7598,23 @@
 <context>
     <name>UINetworkManagerIndicator</name>
     <message>
+        <location filename="../src/net/UINetworkManagerIndicator.cpp" line="+216"/>
         <source>Current network operations:</source>
         <translation>Trenutna omrežna opravila:</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>failed</source>
         <comment>network operation</comment>
         <translation>Spodletelo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>(%1 of %2)</source>
         <translation>(%1 od %2)</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Double-click for more information.</source>
         <translation>Dvokliknite za več podatkov.</translation>
     </message>
@@ -6077,66 +7622,82 @@
 <context>
     <name>UINetworkReplyPrivate</name>
     <message>
+        <location filename="../src/net/UINetworkReply.cpp" line="+955"/>
         <source>Host not found</source>
         <translation>Gostitelj ni bil najden</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Content access denied</source>
         <translation>Dostop do vsebine zavrnjen</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Protocol failure</source>
         <translation>Protokol spodletel</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Wrong SSL certificate format</source>
         <translation>Napačna oblika potdila SSL</translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>SSL authentication failed</source>
         <translation>Overitev SSL spodletela</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Unknown reason</source>
         <translation>Neznan vzrok</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>%1: %2</source>
         <comment>Context description: Error description</comment>
         <translation>%1: %2</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Unable to initialize HTTP library</source>
         <translation>Knjižnice HTTP ni mogoče začeti</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Connection refused</source>
         <translation>Povezava zavrnjena</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Content moved</source>
         <translation>Vsebina premaknjena</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Proxy not found</source>
         <translation>Posredniški strežnik ni bil najden</translation>
     </message>
     <message>
+        <location line="-8"/>
         <source>Url not found on the server</source>
-        <translation type="unfinished"></translation>
+        <translation>URL ni bil najden na strežniku</translation>
     </message>
 </context>
 <context>
     <name>UINetworkReplyPrivateThread</name>
     <message>
+        <location line="-569"/>
         <source>During proxy configuration</source>
         <translation>Med nastavitvijo posredniškega strežnika</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>During certificate downloading</source>
         <translation>Med prejemom potrdila</translation>
     </message>
     <message>
+        <location line="+85"/>
+        <location line="+13"/>
         <source>During network request</source>
         <translation>Med omrežno zahtevo</translation>
     </message>
@@ -6144,6 +7705,8 @@
 <context>
     <name>UIPopupCenter</name>
     <message>
+        <location filename="../src/widgets/UIPopupPane.cpp" line="+278"/>
+        <location line="+1"/>
         <source>Click for full details</source>
         <translation>Kliknite za polne podrobnosti</translation>
     </message>
@@ -6151,54 +7714,67 @@
 <context>
     <name>UIPortForwardingTable</name>
     <message>
+        <location filename="../src/widgets/UIPortForwardingTable.cpp" line="+377"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Protocol</source>
         <translation>Protokol</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Host IP</source>
         <translation>IP gostitelja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Host Port</source>
         <translation>Vrata gostitelja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest IP</source>
         <translation>IP gosta</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest Port</source>
         <translation>Vrata gosta</translation>
     </message>
     <message>
+        <location line="+395"/>
         <source>Contains a list of port forwarding rules.</source>
         <translation>Vsebuje seznam pravil posredovanja vrat.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Add New Rule</source>
         <translation>Dodaj novo pravilo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Copy Selected Rule</source>
         <translation>Kopiraj izbrano pravilo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Remove Selected Rule</source>
         <translation>Odstrani izbrano pravilo</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Adds new port forwarding rule.</source>
         <translation>Doda novo pravilo posredovanja vrat.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Copies selected port forwarding rule.</source>
         <translation>Kopira izbrano pravilo posredovanja vrat.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Removes selected port forwarding rule.</source>
         <translation>Odstrani izbrano pravilo posredovanja vrat.</translation>
     </message>
@@ -6206,27 +7782,33 @@
 <context>
     <name>UIProgressDialog</name>
     <message>
+        <location filename="../src/widgets/UIProgressDialog.cpp" line="+322"/>
         <source>A few seconds remaining</source>
         <translation>Preostalo je še nekaj sekund</translation>
     </message>
     <message>
+        <location line="-177"/>
         <source>Canceling...</source>
         <translation>Preklicevanje …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Cancel</source>
         <translation>&Prekliči</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel the current operation</source>
         <translation>Prekliči trenutno opravilo</translation>
     </message>
     <message>
+        <location line="+147"/>
         <source>%1, %2 remaining</source>
         <comment>You may wish to translate this more like "Time remaining: %1, %2"</comment>
         <translation>Preostali čas: %1, %2</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>%1 remaining</source>
         <comment>You may wish to translate this more like "Time remaining: %1"</comment>
         <translation>Preostali čas: %1</translation>
@@ -6235,27 +7817,33 @@
 <context>
     <name>UISelectorWindow</name>
     <message>
+        <location filename="../src/selector/UISelectorWindow.cpp" line="+160"/>
         <source>Show Toolbar</source>
         <translation>Prikaži orodno vrstico</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Show Statusbar</source>
         <translation>Prikaži vrstico stanja</translation>
     </message>
     <message>
+        <location line="+338"/>
         <source>Select a virtual machine file</source>
         <translation>Izberite datoteko navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Virtual machine files (%1)</source>
         <translation>Datoteke navideznega računalnika (%1)</translation>
     </message>
     <message>
+        <location line="+550"/>
         <source>Manager</source>
         <comment>Note: main window title which is pretended by the product name.</comment>
         <translation>Upravljalnik</translation>
     </message>
     <message>
+        <location line="-781"/>
         <source><h3>Welcome to VirtualBox!</h3><p>The left part of this window is  a list of all virtual machines on your computer. The list is empty now because you haven't created any virtual machines yet.<img src=:/welcome.png align=right/></p><p>In order to create a new virtual machine, press the <b>New</b> button in the main tool bar located at the top of the window.</p><p>You can press the <b>%1</b> key to [...]
         <translation><h3>Dobrodošli v VirtulBox!</h3><p>Levi del tega okna je seznam vseh navideznih računalnikov na vašem računalniku. Seznam je sedaj prazen, ker še niste ustvarili nobenega navideznega računalnika.<img src=:/welcome.png align=right/></p><p>Da ustvarite nov navidezni računalnik, pritisnite gumb <b>Nov</b> v glavni orodni vrstici na vrhu okna.</p><p>Lahko pritisnete tipko <b>%1</b> za takojšnjo pomoč [...]
     </message>
@@ -6263,6 +7851,7 @@
 <context>
     <name>UISession</name>
     <message>
+        <location filename="../src/runtime/UISession.cpp" line="+548"/>
         <source>Updating Guest Additions</source>
         <translation>Posodabljanje Dodatkov za gosta</translation>
     </message>
@@ -6270,18 +7859,22 @@
 <context>
     <name>UISettingsDialog</name>
     <message>
+        <location filename="../src/settings/UISettingsDialog.ui" line="+26"/>
         <source><i>Select a settings category from the list on the left-hand side and move the mouse over a settings item to get more information.</i></source>
         <translation><i>Izberite kategorijo nastavitev s seznama na levi in premaknite miško nad predmet nastavitev, da dobite več podatkov.</i></translation>
     </message>
     <message>
+        <location filename="../src/settings/UISettingsDialog.cpp" line="+348"/>
         <source>Invalid settings detected</source>
         <translation>Zaznane neveljavne nastavitve</translation>
     </message>
     <message>
+        <location line="+76"/>
         <source><b>%1</b> page:</source>
         <translation><b>%1</b> stran:</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><b>%1: %2</b> page:</source>
         <translation><b>%1: %2</b> stran:</translation>
     </message>
@@ -6289,42 +7882,52 @@
 <context>
     <name>UISettingsDialogGlobal</name>
     <message>
+        <location filename="../src/settings/UISettingsDialogSpecific.cpp" line="+249"/>
         <source>General</source>
         <translation>Splošno</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Input</source>
         <translation>Vnos</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Update</source>
         <translation>Posodobi</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Language</source>
         <translation>Jezik</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Network</source>
         <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Extensions</source>
         <translation>Razširitve</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>VirtualBox - %1</source>
         <translation>VirtualBox - %1</translation>
     </message>
     <message>
+        <location line="-24"/>
         <source>Proxy</source>
         <translation>Posredniški strežnik</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>Display</source>
         <translation>Zaslon</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Preferences</source>
         <translation>Možnosti</translation>
     </message>
@@ -6332,58 +7935,72 @@
 <context>
     <name>UISettingsDialogMachine</name>
     <message>
+        <location line="+321"/>
         <source>General</source>
         <translation>Splošno</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>System</source>
         <translation>Sistem</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Display</source>
         <translation>Zaslon</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Storage</source>
         <translation>Pomnilnške naprave</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Audio</source>
         <translation>Zvok</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Network</source>
         <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Ports</source>
         <translation>Vrata</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Serial Ports</source>
         <translation>Zaporedna vrata</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Parallel Ports</source>
         <translation>Vzporedna vrata</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>USB</source>
         <translation>USB</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Shared Folders</source>
-        <translation>Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>%1 - %2</source>
         <translation>%1 - %2</translation>
     </message>
     <message>
+        <location line="-27"/>
         <source>User Interface</source>
         <translation>Uporabniški vmesnik</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Settings</source>
         <translation>Nastavitve</translation>
     </message>
@@ -6391,10 +8008,12 @@
 <context>
     <name>UISettingsSerializerProgress</name>
     <message>
+        <location filename="../src/settings/UISettingsSerializer.cpp" line="+339"/>
         <source>Loading Settings...</source>
         <translation>Nalaganje nastavitev …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Saving Settings...</source>
         <translation>Shranjevanje nastavitev …</translation>
     </message>
@@ -6402,14 +8021,17 @@
 <context>
     <name>UIStatusBarEditorWidget</name>
     <message>
+        <location filename="../src/runtime/UIStatusBarEditorWindow.cpp" line="+517"/>
         <source>Close</source>
         <translation>Zapri</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Enable Status Bar</source>
         <translation>Omogoči vrstico stanja</translation>
     </message>
     <message>
+        <location line="-367"/>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
         <translation><nobr><b>&Kliknite</b>, da preklopite prisotnost kazalnika.</nobr><br><nobr><b>Povlecite in spustite</b>, da spremenite položaj kazalnika.</nobr></translation>
     </message>
@@ -6417,22 +8039,27 @@
 <context>
     <name>UITextEditor</name>
     <message>
+        <location filename="../src/widgets/UILineTextEdit.cpp" line="-39"/>
         <source>Edit text</source>
         <translation>Uredi besedilo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Replace...</source>
         <translation>&Nadomesti …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Replaces the current text with the content of a file.</source>
         <translation>Nadomesti trenutno besedilo z vsebino datoteke.</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Text (*.txt);;All (*.*)</source>
         <translation>Besedilo (*.txt);;vse (*.*)</translation>
     </message>
     <message>
+        <location line="+0"/>
         <source>Select a file to open...</source>
         <translation>Izberi datoteko za odpiranje …</translation>
     </message>
@@ -6440,46 +8067,57 @@
 <context>
     <name>UIUpdateManager</name>
     <message>
+        <location filename="../src/net/UIUpdateDefs.cpp" line="+46"/>
         <source>1 day</source>
         <translation>1 dan</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>2 days</source>
         <translation>2 dni</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>3 days</source>
         <translation>3 dni</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>4 days</source>
         <translation>4 dni</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>5 days</source>
         <translation>5 dni</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>6 days</source>
         <translation>6 dni</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>1 week</source>
         <translation>1 teden</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>2 weeks</source>
         <translation>2 tedna</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>3 weeks</source>
         <translation>3 tedne</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>1 month</source>
         <translation>1 mesec</translation>
     </message>
     <message>
+        <location line="+64"/>
         <source>Never</source>
         <translation>Nikoli</translation>
     </message>
@@ -6487,6 +8125,7 @@
 <context>
     <name>UIUpdateStepVirtualBox</name>
     <message>
+        <location filename="../src/net/UIUpdateManager.cpp" line="+173"/>
         <source>Checking for a new VirtualBox version...</source>
         <translation>Preverjanje za novo različico VirtualBoxa …</translation>
     </message>
@@ -6494,54 +8133,67 @@
 <context>
     <name>UIVMCloseDialog</name>
     <message>
+        <location filename="../src/runtime/UIVMCloseDialog.cpp" line="+404"/>
         <source>Close Virtual Machine</source>
         <translation>Zapri navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>You want to:</source>
         <translation>Naredite naslednje:</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>Saves the current execution state of the virtual machine to the physical hard disk of the host PC.</p><p>Next time this machine is started, it will be restored from the saved state and continue execution from the same place you saved it at, which will let you continue your work immediately.</p><p>Note that saving the machine state may take a long time, depending on the guest operating system type and the amount of memory you assigned to th [...]
         <translation><p>Shrani trenutno stanje izvajanja navideznega računalnika na fizični trdi disk gostiteljskega računalnika.</p><p>Ob naslednjem zagonu računalnika bo ta obnovljen iz shranjenega stanja in nadaljeval izvajanje z istega mesta, kjer ste ga shranili, kar vam bo omogočalo takojšnje nadaljevanje dela.</p><p>Upoštevajte, da shranjevanje stanja lahko traja dolgo časa odvisno od vrste operacijskega sistema in količine pomnilnika, ki ste ga dodel [...]
     </message>
     <message>
+        <location line="-1"/>
         <source>&Save the machine state</source>
         <translation>&Shrani stanje računalnika</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><p>Sends the ACPI Power Button press event to the virtual machine.</p><p>Normally, the guest operating system running inside the virtual machine will detect this event and perform a clean shutdown procedure. This is a recommended way to turn off the virtual machine because all applications running inside it will get a chance to save their data and state.</p><p>If the machine doesn't respond to this action then the guest operating system  [...]
         <translation><p>Pošlje dogodek pritiska gumba za izklop ACPI navideznemu računalniku.</p><p>Običajno bo gostujoči operacijski sistem, ki se izvaja v navideznem računalniku, zaznal ta dogodek in opravil čisti postopek zaustavitve. To je priporočljiv način izklopa navideznega računalnika, ker bodo vsi programi, ki se izvajajo v njem, dobili možnost shranjevanja podatkov in stanja.</p><p>Če se računalnik ne odzove na to dejanje, potem je gostujoči opera [...]
     </message>
     <message>
+        <location line="-1"/>
         <source>S&end the shutdown signal</source>
         <translation>&Pošlji signal za zaustavitev</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source><p>Turns off the virtual machine.</p><p>Note that this action will stop machine execution immediately so that the guest operating system running inside it will not be able to perform a clean shutdown procedure which may result in <i>data loss</i> inside the virtual machine. Selecting this action is recommended only if the virtual machine does not respond to the <b>Send the shutdown signal</b> action.</p></source>
         <translation><p>Izklopi navidezni računalnik.</p><p>Upoševajte, da bo to dejanje takoj ustavilo izvajanje računalnika, tako da gostujoči operacijski sistem, ki se izvaja v njem, ne bo mogel opraviti čistega postopka zaustavitve, kar lahko povzroči <i>izgubo podatkov</i>v navideznem računalniku. Izbira tega dejanja je priporočljiva samo, če se navidezni računalnik ne odzove na dejanje<b>Pošlji signal za zaustavitev</b>.</p></translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>&Power off the machine</source>
         <translation>I&zklopi računalnik</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Restore the machine state stored in the current snapshot</source>
         <translation>Obnovi stanje računalnika, ki je shranjeno v trenutnem posnetku</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><p>When checked, the machine will be returned to the state stored in the current snapshot after it is turned off. This is useful if you are sure that you want to discard the results of your last sessions and start again at that snapshot.</p></source>
         <translation><p>Ko je označeno, se bo računalnik vrnil na stanje, ki je shranjeno v trenutnem posnetku, ko se izklopi. To je uporabno, če ste prepričani, da želite zavreči rezultat zadnjih sej in začeti znova na posnetku stanja.</p></translation>
     </message>
     <message>
+        <location line="-2"/>
         <source>&Restore current snapshot '%1'</source>
         <translation>&Obnovi trenutni posnetek stanja '%1'</translation>
     </message>
     <message>
+        <location line="-23"/>
         <source>&Continue running in the background</source>
         <translation>&Nadaljuj izvajanje v ozadju</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><p>Close the virtual machine windows but keep the virtual machine running.</p><p>You can use the VirtualBox Manager to return to running the virtual machine in a window.</p></source>
         <translation><p>Zapri okna navideznega računalnika, vendar obdrži navidezni računalnik v izvajanju.</p>Za vrnitev v izvajanje navideznega računalnika v oknu lahko uporabite Upravljalnika VirtualBox.</p></translation>
     </message>
@@ -6549,10 +8201,12 @@
 <context>
     <name>UIVMDesktop</name>
     <message>
+        <location filename="../src/selector/UIVMDesktop.cpp" line="+228"/>
         <source>&Details</source>
         <translation>&Podrobnosti</translation>
     </message>
     <message>
+        <location line="-32"/>
         <source>&Snapshots</source>
         <translation>&Posnetki stanja</translation>
     </message>
@@ -6560,97 +8214,129 @@
 <context>
     <name>UIVMInfoDialog</name>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-634"/>
         <source>%1 - Session Information</source>
         <translation>%1 - podatki seje</translation>
     </message>
     <message>
+        <location line="+27"/>
+        <location line="+37"/>
         <source>DMA Transfers</source>
         <translation>Prenosi DMA</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>PIO Transfers</source>
         <translation>Prenosi PIO</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+35"/>
+        <location line="+27"/>
+        <location line="+25"/>
+        <location line="+25"/>
         <source>Data Read</source>
         <translation>Prebrani podatki</translation>
     </message>
     <message>
+        <location line="-110"/>
+        <location line="+35"/>
+        <location line="+27"/>
+        <location line="+25"/>
+        <location line="+25"/>
         <source>Data Written</source>
         <translation>Zapisani podatki</translation>
     </message>
     <message>
+        <location line="+44"/>
         <source>Data Transmitted</source>
         <translation>Poslani podatki</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Data Received</source>
         <translation>Prejeti podatki</translation>
     </message>
     <message>
+        <location line="+399"/>
         <source>Runtime Attributes</source>
         <translation>Lastnosti izvajanja</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Screen Resolution</source>
         <translation>Ločljivost zaslona</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>Not Detected</source>
         <comment>guest additions</comment>
         <translation>Ni zaznano</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Not Detected</source>
         <comment>guest os type</comment>
         <translation>Ni zaznano</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Guest Additions</source>
         <translation>Dodatki za gosta</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest OS Type</source>
         <translation>Vrsta gostujočega OS-a</translation>
     </message>
     <message>
+        <location line="+133"/>
         <source>No Network Adapters</source>
         <translation>Ni omrežnih vmesnikov</translation>
     </message>
     <message>
+        <location line="-122"/>
         <source>Storage Statistics</source>
         <translation>Statistika pomnilniških naprav</translation>
     </message>
     <message>
+        <location line="+90"/>
         <source>No Storage Devices</source>
         <translation>Ni pomnilniških naprav</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Network Statistics</source>
         <translation>Omrežna statistika</translation>
     </message>
     <message>
+        <location line="-148"/>
         <source>Not Available</source>
         <comment>details report (VRDE server port)</comment>
         <translation>Ni na voljo</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Clipboard Mode</source>
         <translation>Način odložišča</translation>
     </message>
     <message>
+        <location line="-596"/>
         <source>Configuration &Details</source>
         <translation>&Podrobnosti nastavitev</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Runtime Information</source>
         <translation>&Podatki o izvajanju</translation>
     </message>
     <message>
+        <location line="+594"/>
         <source>VM Uptime</source>
         <translation>Skupni čas izvajanja nav. računalnika</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Drag and Drop Mode</source>
         <translation>Način vlečenja in spuščanja</translation>
     </message>
@@ -6658,30 +8344,38 @@
 <context>
     <name>UIVMInformationDialog</name>
     <message>
+        <location filename="../src/runtime/information/UIVMInformationDialog.cpp" line="+117"/>
         <source>%1 - Session Information</source>
-        <translation type="unfinished">%1 - podatki seje</translation>
+        <translation>%1 - podatki seje</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Configuration &Details</source>
-        <translation type="unfinished">&Podrobnosti nastavitev</translation>
+        <translation>&Podrobnosti nastavitev</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Runtime Information</source>
-        <translation type="unfinished">&Podatki o izvajanju</translation>
+        <translation>&Podatki o izvajanju</translation>
     </message>
 </context>
 <context>
     <name>UIVMListView</name>
     <message>
+        <location filename="../src/selector/UIVMItem.cpp" line="+164"/>
+        <location line="+12"/>
+        <location filename="../src/selector/graphics/details/UIGMachinePreview.cpp" line="+3"/>
         <source>Inaccessible</source>
         <translation>Nedostopen</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source><nobr>%1<br></nobr><nobr>%2 since %3</nobr><br><nobr>Session %4</nobr></source>
         <comment>VM tooltip (name, last state change, session state)</comment>
         <translation><nobr>%1<br></nobr><nobr>%2 od %3</nobr><br><nobr>seja %4</nobr></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source><nobr><b>%1</b><br></nobr><nobr>Inaccessible since %2</nobr></source>
         <comment>Inaccessible VM tooltip (name, last state change)</comment>
         <translation><nobr><b>%1</b><br></nobr><nobr>nedostopen od %2</nobr></translation>
@@ -6690,97 +8384,122 @@
 <context>
     <name>UIVMLogViewer</name>
     <message>
+        <location filename="../src/UIVMLogViewer.cpp" line="+274"/>
+        <location line="+393"/>
         <source>Close the search panel</source>
         <translation>Zapri iskalno ploščo</translation>
     </message>
     <message>
+        <location line="-391"/>
+        <location line="+808"/>
         <source>&Find</source>
         <translation>&Poišči</translation>
     </message>
     <message>
+        <location line="-807"/>
         <source>Enter a search string here</source>
         <translation>Sem vnesite iskalni niz</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&Previous</source>
         <translation>Na&zaj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Search for the previous occurrence of the string</source>
         <translation>Poišči prejšnjo pojavitev iskalnega niza</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Next</source>
         <translation>&Naprej</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Search for the next occurrence of the string</source>
         <translation>Poišči naslednjo pojavitev iskalnega niza</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>C&ase Sensitive</source>
         <translation>&Občutljivo na velikost črk</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Perform case sensitive search (when checked)</source>
         <translation>Opravi iskanje, ki je občutljivo na velikost črk (ko je označeno)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>String not found</source>
         <translation>Niz ni bil najden</translation>
     </message>
     <message>
+        <location line="+572"/>
         <source><p>No log files found. Press the <b>Refresh</b> button to rescan the log folder <nobr><b>%1</b></nobr>.</p></source>
         <translation><p>Nobene datoteke dnevnika ni bilo mogoče najti. Pritisnite gumb <b>Osveži</b>, da ponovno preiščete mapo z dnevniki <nobr><b>%1</b></nobr>.</p></translation>
     </message>
     <message>
+        <location line="+49"/>
         <source>Save VirtualBox Log As</source>
         <translation>Shrani dnevnik VirtualBoxa kot</translation>
     </message>
     <message>
+        <location line="+173"/>
         <source>%1 - VirtualBox Log Viewer</source>
         <translation>%1 - pregledovalnik dnevnikov VirtualBox</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>&Refresh</source>
         <translation>&Osveži</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Save</source>
         <translation>&Shrani</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Close</source>
         <translation>Zapri</translation>
     </message>
     <message>
+        <location line="-419"/>
         <source>Filter</source>
-        <translation type="unfinished"></translation>
+        <translation>Filter</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Enter filtering string here</source>
-        <translation type="unfinished"></translation>
+        <translation>Tukaj vnesite niz filtra</translation>
     </message>
     <message>
+        <location line="+419"/>
         <source>Fil&ter</source>
-        <translation type="unfinished"></translation>
+        <translation>&Filter</translation>
     </message>
 </context>
 <context>
     <name>UIWizard</name>
     <message>
+        <location filename="../src/wizards/UIWizard.cpp" line="+109"/>
         <source>&Expert Mode</source>
         <translation>&Napredni način</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Switch to <nobr><b>Expert Mode</b></nobr>, a one-page dialog for experienced users.</source>
         <translation>Preklopi na <nobr><b>Napredni način</b></nobr>, enostransko pogovorno okno za napredne uporabnike.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&Guided Mode</source>
         <translation>&Vodeni način</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Switch to <nobr><b>Guided Mode</b></nobr>, a step-by-step dialog with detailed explanations.</source>
         <translation>Preklopi na <nobr><b>Vodeni način</b></nobr>, pogovorno okno s podrobnimi navodili.</translation>
     </message>
@@ -6788,95 +8507,125 @@
 <context>
     <name>UIWizardCloneVD</name>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVD.cpp" line="+120"/>
         <source>Copy</source>
         <translation>Kopiraj</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp" line="+140"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="+259"/>
         <source>&Dynamically allocated</source>
         <translation>&Dinamično dodeljeno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="+1"/>
         <source>&Fixed size</source>
         <translation>&Nesremenljiva velikost</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="+1"/>
         <source>&Split into files of less than 2GB</source>
         <translation>&Razdeli v datoteke z manj kot 2 GB</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp" line="+221"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="-71"/>
         <source>%1_copy</source>
         <comment>copied virtual hard drive name</comment>
         <translation>%1_kopija</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVD.cpp" line="-1"/>
         <source>Copy Virtual Hard Disk</source>
         <translation>Kopiraj navidezni trdi disk</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic1.cpp" line="+115"/>
         <source>Hard disk to copy</source>
         <translation>Trdi disk za kopiranje</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation><p>Izberite datoteko navideznega trdega diska, ki bi jo radi kopirali, če še ni izbrana. Lahko izberete eno s seznama ali uporabite ikono mape poleg seznama, da eno izberete.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="+58"/>
         <source>Choose a virtual hard disk file to copy...</source>
         <translation>Izberi datoteko navideznega trdega diska za kopiranje …</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp" line="+154"/>
         <source>Hard disk file type</source>
         <translation>Vrsta datoteke trdega diska</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation>Izberite vrsto datoteke, ki bi jo radi uporabili za nov navidezni trdi disk. Če je ne boste uporabljali z drugo programsko opremo navideznosti, lahko pustite nastavitev nespremenjeno.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp" line="-16"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="+10"/>
         <source>Storage on physical hard disk</source>
         <translation>Pomnilniška naprava na fizičnem trdem disku</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation>Izberite, ali naj se nova datoteka navideznega trdega diska med uporabo povečuje (dinamično dodeljeno) ali naj se ustvari v največji velikosti (nespremenljiva velikost).</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation><p><b>Dinamično dodeljena</b> datoteka trdega diska bo uporabila samo toliko prostora na vašem trdem disku, kolikor ga zasede (do največ <b>nespremenljive velikosti</b>), vendar se ne bo samodejno skrčila, ko je prostor sproščen.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation><p>Ustvarjanje datoteke trdega diska <b>Nespremenljive velikosti</b> lahko na nekaterih sistemih traja dlje, vendar je pogosto hitrejša za uporabo.</p></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation><p>Lahko izberete tudi <b>razdelitev</b>, datoteke trdega diska v več datotek z do 2 GB na vsako. To je v glavnem uporabno, če želite shraniti navidezni računalnik na odstranljive naprave USB ali stare sisteme, ki ne podpirajo zelo velikih datotek.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp" line="-134"/>
         <source>Please choose a location for new virtual hard disk file</source>
         <translation>Izberite mesto za novo datoteko navideznega trdega diska</translation>
     </message>
     <message>
+        <location line="+114"/>
         <source>New hard disk to create</source>
         <translation>Nov trdi disk za ustvarjanje</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation>Vtipkajte ime nove datoteke navideznega trdega diska v spodnje polje ali kliknite ikono mape, da izberete drugo mapo, v kateri boste ustvarili datoteko.</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="-8"/>
         <source>Choose a location for new virtual hard disk file...</source>
         <translation>Izberi mesto za novo datoteko navideznega trdega diska …</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp" line="-3"/>
         <source>Hard disk to &copy</source>
         <translation>Trdi disk za &kopiranje</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&New hard disk to create</source>
         <translation>&Nov trdi disk za ustvarjanje</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Hard disk file &type</source>
         <translation>&Vrsta datoteke trdega diska</translation>
     </message>
@@ -6884,98 +8633,130 @@
 <context>
     <name>UIWizardCloneVM</name>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVM.cpp" line="+85"/>
         <source>Linked Base for %1 and %2</source>
         <translation>Povezana osnova za %1 in %2</translation>
     </message>
     <message>
+        <location line="+86"/>
         <source>Clone Virtual Machine</source>
         <translation>Kloniraj navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Clone</source>
         <translation>Kloniraj</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic1.cpp" line="+64"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+53"/>
         <source>%1 Clone</source>
         <translation>Klon %1</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>New machine name</source>
         <translation>Novo ime računalnika</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>Please choose a name for the new virtual machine. The new machine will be a clone of the machine <b>%1</b>.</p></source>
         <translation><p>Izberite ime za nov navidezni računalnik. Nov računalnik bo klon računalnika <b>%1</b>.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+81"/>
         <source>When checked a new unique MAC address will be assigned to all configured network cards.</source>
         <translation>Ko je označeno, bo vsem nastavljenim omrežnim karticam dodeljen nov edinstven naslov MAC.</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+1"/>
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Ponovno vpelji naslov MAC vseh omrežnih kartic</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp" line="+93"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="-8"/>
         <source>Clone type</source>
         <translation>Vrsta klona</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation><p>Če ustvarite <b>povezan klon</b>, potem bo v izvirnem navideznem računalniku ustvarjen nov posnetek stanja kot del postopka kloniranja.</p></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>&Full clone</source>
         <translation>&Poln klon</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Linked clone</source>
         <translation>P&ovezan klon</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic3.cpp" line="+96"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+3"/>
         <source>Snapshots</source>
         <translation>Posnetki stanja</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>Please choose which parts of the snapshot tree should be cloned with the machine.</p></source>
         <translation><p>Izberite, kateri deli drevesa posnetka stanja naj se klonirajo z računalnikom.</p></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source><p>If you choose <b>Current machine state</b>, the new machine will reflect the current state of the original machine and will have no snapshots.</p></source>
         <translation><p>Če izberete <b>Trenutno stanje računalnika</b>, bo nov računalnik odražal trenutno stanje izvirnega računalnika in ne bo imel posnetkov stanja.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>If you choose <b>Current snapshot tree branch</b>, the new machine will reflect the current state of the original machine and will have matching snapshots for all snapshots in the tree branch starting at the current state in the original machine.</p></source>
         <translation><p>Če izberete <b>Trenutno vejo drevesa posnetka stanja</b>, bo nov računalnik odražal trenutno stanje izvirnega računalnika in bo imel ujemajoče se posnetke stanja za vse posnetke v veji drevesa z začetkom pri trenutnem stanju v izvirnem računalniku.</p></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><p>If you choose <b>Everything</b>, the new machine will reflect the current state of the original machine and will have matching snapshots for all snapshots in the original machine.</p></source>
         <translation><p>Če izberete <b>Vse</b>, bo nov računalnik odražal trenutno stanje izvirnega računalnika in bo imel ujemajoče se posnetke stanja za vse posnetke stanja v izvirnem računalniku.</p></translation>
     </message>
     <message>
+        <location line="+16"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+1"/>
         <source>Current &machine state</source>
         <translation>Trenutno &stanje računlanika</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+1"/>
         <source>Current &snapshot tree branch</source>
         <translation>Trenutna &veja drevesa posnetkov stanja</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="+1"/>
         <source>&Everything</source>
         <translation>&Vse</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageExpert.cpp" line="-7"/>
         <source>New machine &name</source>
         <translation>Novo i&me računalnika</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&Full Clone</source>
         <translation>&Poln klon</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Linked Clone</source>
         <translation>&Povezan klon</translation>
     </message>
     <message>
+        <location filename="../src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp" line="-15"/>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
         <translation><p>Izberite vrsto klona, ki ga želite ustvariti.</p><p>Če izberete <b>Poln klon</b>, bo ustvarjena natančna kopija izvirnega navideznega računlanika (vključno z vsem datotekami navideznega trdega diska).</p><p>Če izberete <b>Povezan klon</b>, bo ustvarjen nov računlanik, vendar bodo datoteke navideznega trdega diska povezane z datotekami trdega diska izvirnega računalnika in novega navideznega računalnika ne boste [...]
     </message>
@@ -6983,158 +8764,218 @@
 <context>
     <name>UIWizardExportApp</name>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportApp.cpp" line="+95"/>
         <source>Checking files ...</source>
         <translation>Preverjanje datotek …</translation>
     </message>
     <message>
+        <location line="+22"/>
         <source>Removing files ...</source>
         <translation>Odstranjevanje datotek …</translation>
     </message>
     <message>
+        <location line="+80"/>
         <source>Exporting Appliance ...</source>
         <translation>Izvažanje namenske naprave …</translation>
     </message>
     <message>
+        <location line="+92"/>
         <source>Export Virtual Appliance</source>
         <translation>Izvozi namensko napravo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Restore Defaults</source>
         <translation>Obnovi privzete</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Export</source>
         <translation>Izvozi</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp" line="+141"/>
         <source>Virtual machines to export</source>
         <translation>Navidezni računalniki za izvoz</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>Please select the virtual machines that should be added to the appliance. You can select more than one. Please note that these machines have to be turned off before they can be exported.</p></source>
-        <translation><p>Izberite navidezne računalnike, ki bi morali biti dodani k namenski napravi. Lahko izberete več kot enega. Upoštevajte, da morate te računalnike pred izvozom izklopiti.</p></translation>
+        <translation><p>Izberite navidezne računalnike, ki morajo biti dodani k namenski napravi. Lahko izberete več kot enega. Upoštevajte, da morate te računalnike pred izvozom izklopiti.</p></translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic2.cpp" line="+111"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic4.cpp" line="+110"/>
         <source>Appliance settings</source>
         <translation>Nastavitve namenske naprave</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose where to create the virtual appliance. You can create it on your own computer, on the Sun Cloud service or on an S3 storage server.</source>
         <translation>Izberite mesto za ustvarjanje navideznega računalnika. Ustvarite ga lahko na svojem računalniku, storitvi Sun Cloud ali strežniku S3.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Create on</source>
         <translation>Ustvari na</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&This computer</source>
         <translation>t&em računalniku</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+228"/>
         <source>Sun &Cloud</source>
         <translation>storitvi &Sun Cloud</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>&Simple Storage System (S3)</source>
         <translation>p&reprostem sistemu za shranjevanje (S3)</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp" line="+299"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="-8"/>
         <source>Appliance</source>
         <translation>Namenska naprava</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+9"/>
         <source>&Username:</source>
         <translation>&Uporabniško ime:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>&Password:</source>
         <translation>&Geslo:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>&Hostname:</source>
         <translation>I&me gostitelja:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>&Bucket:</source>
         <translation>&Vedro:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>&File:</source>
         <translation>&Datoteka:</translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+3"/>
         <source>Open Virtualization Format Archive (%1)</source>
         <translation>Arhiv odprte oblike navideznosti (%1)</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>Open Virtualization Format (%1)</source>
         <translation>Odprta oblika navideznosti (%1)</translation>
     </message>
     <message>
+        <location line="+5"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+5"/>
         <source>Write in legacy OVF 0.9 format for compatibility with other virtualization products.</source>
         <translation>Zapiši v zastareli obliki OVF 0.9 za združljivost z drugimi izdelki navideznosti.</translation>
     </message>
     <message>
+        <location line="+4"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+4"/>
         <source>Create a Manifest file for automatic data integrity checks on import.</source>
         <translation>Ustvari datoteko manifesta za samodejno preverjanje celovitosti podatkov ob izvozu.</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>Write &Manifest file</source>
         <translation>Zapiši datoteko &manifesta</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic4.cpp" line="+3"/>
         <source>This is the descriptive information which will be added to the virtual appliance.  You can change it by double clicking on individual lines.</source>
         <translation>To so opisni podatki, ki bodo dodani namenski napravi. Lahko jih spremenite z dvoklikom na posamezne vrstice.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="-25"/>
         <source>Virtual &machines to export</source>
         <translation>&Navidezni računlaniki za izvoz</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Appliance &settings</source>
         <translation>&Nastavitve namenske naprave</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Destination</source>
         <translation>&Cilj</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&Local Filesystem </source>
         <translation>&Krajevni datotečni sistem</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp" line="-23"/>
         <source>Storage settings</source>
         <translation>Nastavitve pomnilniške naprave</translation>
     </message>
     <message>
+        <location line="+11"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+9"/>
         <source>Please choose a file to export the virtual appliance to</source>
         <translation>Izberite datoteko, v katero želite izvoziti namensko napravo</translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+3"/>
         <source>F&ormat:</source>
         <translation>&Oblika:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>OVF 0.9</source>
         <translation>OVF 0.9</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>OVF 1.0</source>
         <translation>OVF 1.0</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>OVF 2.0</source>
         <translation>OVF 2.0</translation>
     </message>
     <message>
+        <location line="+3"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+3"/>
         <source>Write in standard OVF 1.0 format.</source>
         <translation>Zapiši v standardni obliki OVF 1.0.</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+1"/>
         <source>Write in new experimental OVF 2.0 format.</source>
         <translation>Zapiši v novi preizkusni obliki OVF 2.0.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="-20"/>
         <source>&Storage settings</source>
         <translation>&Nastavitve pomnilniške naprave</translation>
     </message>
@@ -7142,18 +8983,22 @@
 <context>
     <name>UIWizardExportAppPageBasic3</name>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp" line="+62"/>
         <source><p>Please choose a filename to export the OVF/OVA to.</p><p>If you use an <i>ova</i> extension, then all the files will be combined into one Open Virtualization Format Archive.</p><p>If you use an <i>ovf</i> extension, several files will be written separately.</p><p>Other extensions are not allowed.</p></source>
         <translation><p>Izberite ime datoteke, v katero želite izvoziti OVF/OVA.</p><p>Če uporabljate razširitev <i>OVA</i>, potem bodo vse datoteke združene v en arhiv odprte oblike navideznosti.</p><p>Če uporabljate razširitev <i>OVF</i>, bo več datotek zapisanih ločeno.</p><p>Druge razširitve niso dovoljene.</p></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Please complete the additional fields like the username, password and the bucket, and provide a filename for the OVF target.</source>
         <translation>Izpolnite dodatna polja, kot so uporabniško ime, geslo in vedro, in navedite ime datoteke za cilj OVF.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Please complete the additional fields like the username, password, hostname and the bucket, and provide a filename for the OVF target.</source>
         <translation>Izpolnite dodatna polja, kot so uporabniško ime, geslo, ime gostitelja in vedro, in navedite ime datoteke za cilj OVF.</translation>
     </message>
     <message>
+        <location line="-91"/>
         <source>Choose a file to export the virtual appliance to...</source>
         <translation>Izberite datoteko, v katero želite izvoziti namensko napravo …</translation>
     </message>
@@ -7161,6 +9006,7 @@
 <context>
     <name>UIWizardExportAppPageExpert</name>
     <message>
+        <location filename="../src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp" line="+9"/>
         <source>Choose a file to export the virtual appliance to...</source>
         <translation>Izberite datoteko, v katero želite izvoziti namensko napravo …</translation>
     </message>
@@ -7168,22 +9014,27 @@
 <context>
     <name>UIWizardFirstRun</name>
     <message>
+        <location filename="../src/wizards/firstrun/UIWizardFirstRun.cpp" line="+101"/>
         <source>Select start-up disk</source>
         <translation>Izberite zagonski disk</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Start</source>
         <translation>Zaženi</translation>
     </message>
     <message>
+        <location filename="../src/wizards/firstrun/UIWizardFirstRunPageBasic.cpp" line="+113"/>
         <source><p>Please select a virtual optical disk file or a physical optical drive containing a disk to start your new virtual machine from.</p><p>The disk should be suitable for starting a computer from and should contain the operating system you wish to install on the virtual machine if you want to do that now. The disk will be ejected from the virtual drive automatically next time you switch the virtual machine off, but you can also do this yourself if needed u [...]
         <translation><p>Izberite navidezni optični disk ali fizični pogon z diskom, iz katerega boste zagnali nov navidezni računalnik.</p><p>Disk mora biti primeren za zagon računalnika in mora vsebovati operacijski sistem, ki ga želite namestiti na navidezni računalnik, če želite to storiti zdaj. Disk bo samodejno izvržen on naslednjem izklopu navideznega računalnika, vendar to lahko po potrebi storite tudi sami z uporabo menija Naprave.</p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p>Please select a virtual optical disk file or a physical optical drive containing a disk to start your new virtual machine from.</p><p>The disk should be suitable for starting a computer from. As this virtual machine has no hard drive you will not be able to install an operating system on it at the moment.</p></source>
         <translation><p>Izberite navidezni optični disk ali fizični pogon z diskom, iz katerega boste zagnali nov navidezni računalnik.</p><p>Disk mora biti primeren za zagon računalnika. Ker ta navidezni računalnik nima trdega diska, v tem trenutku na njem ne boste mogli namestiti operacijskega sistema.</p></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Choose a virtual optical disk file...</source>
         <translation>Izberi datoteko navideznega optičnega diska …</translation>
     </message>
@@ -7191,153 +9042,200 @@
 <context>
     <name>UIWizardImportApp</name>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportApp.cpp" line="+116"/>
         <source>Restore Defaults</source>
         <translation>Obnovi privzete</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Import</source>
         <translation>Uvozi</translation>
     </message>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageBasic1.cpp" line="+66"/>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageExpert.cpp" line="+101"/>
         <source>Appliance to import</source>
         <translation>Namenska naprava za uvoz</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>VirtualBox currently supports importing appliances saved in the Open Virtualization Format (OVF). To continue, select the file to import below.</p></source>
         <translation><p>VirtualBox trenutno podpira uvoz namenskih naprav shranjenih v odprti obliki navideznosti (OVF). Za nadaljevanje spodaj izberite datoteko za uvoz.</p></translation>
     </message>
     <message>
+        <location line="+5"/>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageExpert.cpp" line="+3"/>
         <source>Open Virtualization Format (%1)</source>
         <translation>Odprta oblika navideznosti (%1)</translation>
     </message>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp" line="-204"/>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageExpert.cpp" line="+1"/>
         <source>Appliance settings</source>
         <translation>Nastavitve namenske naprave</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>These are the virtual machines contained in the appliance and the suggested settings of the imported VirtualBox machines. You can change many of the properties shown by double-clicking on the items and disable others using the check boxes below.</source>
         <translation>To so navidezni računalniki, ki jih vsebuje namenska naprava in predlagane nastavitve uvoženih računalnikov VirtualBox. Veliko prikazanih lastnosti lahko spremenite z dvoklikom na predmete in druge onemogočite z uporabo spodnjih označnih polj.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportApp.cpp" line="-2"/>
         <source>Import Virtual Appliance</source>
         <translation>Uvozi namensko napravo</translation>
     </message>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageBasic1.cpp" line="-2"/>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageExpert.cpp" line="-3"/>
         <source>Choose a virtual appliance file to import...</source>
         <translation>Izberi datoteko namenske naprave  za uvoz …</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageExpert.cpp" line="+1"/>
         <source>Please choose a virtual appliance file to import</source>
         <translation>Izberite datoteko namenske naprave za uvoz</translation>
     </message>
     <message>
+        <location filename="../src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp" line="+7"/>
         <source>Appliance is not signed</source>
-        <translation type="unfinished"></translation>
+        <translation>Namenska naprava ni podpisana</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Appliance signed by %1 (trusted)</source>
-        <translation type="unfinished"></translation>
+        <translation>Namensko napravo je podpisal %1 (zaupanja vreden)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Appliance signed by %1 (expired!)</source>
-        <translation type="unfinished"></translation>
+        <translation>Namensko napravo je podpisal %1 (poteklo!)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Unverified signature by %1!</source>
-        <translation type="unfinished"></translation>
+        <translation>Nepreverjen podpis od %1!</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Self signed by %1 (trusted)</source>
-        <translation type="unfinished"></translation>
+        <translation>Samopodpisan od %1 (zaupanja vreden)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Self signed by %1 (expired!)</source>
-        <translation type="unfinished"></translation>
+        <translation>Samopodpisan od %1 (poteklo!)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Unverified self signed signature by %1!</source>
-        <translation type="unfinished"></translation>
+        <translation>Nepreverjen samopodpisan podpis od %1!</translation>
     </message>
 </context>
 <context>
     <name>UIWizardNewVD</name>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVD.cpp" line="+124"/>
         <source>Create</source>
         <translation>Ustvari</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic2.cpp" line="+140"/>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="+274"/>
         <source>&Dynamically allocated</source>
         <translation>&Dinamično dodeljeno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="+1"/>
         <source>&Fixed size</source>
         <translation>&Nesremenljiva velikost</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="+1"/>
         <source>&Split into files of less than 2GB</source>
         <translation>&Razdeli v datoteke z manj kot 2 GB</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic3.cpp" line="+245"/>
         <source><nobr>%1 (%2 B)</nobr></source>
         <translation><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
+        <location line="+131"/>
         <source>File location and size</source>
         <translation>Mesto in velikost datoteke</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="-13"/>
         <source>File &location</source>
         <translation>&Mesto datoteke</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>File &size</source>
         <translation>&Velikost datoteke</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVD.cpp" line="-1"/>
         <source>Create Virtual Hard Disk</source>
         <translation>Ustvari navidezni trdi disk</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic1.cpp" line="+154"/>
         <source>Hard disk file type</source>
         <translation>Vrsta datoteke trdega diska</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation>Izberite vrsto datoteke, ki bi jo radi uporabili za nov navidezni trdi disk. Če je ne boste uporabljali z drugo programsko opremo navideznosti, lahko pustite nastavitev nespremenjeno.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic2.cpp" line="-16"/>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="+8"/>
         <source>Storage on physical hard disk</source>
         <translation>Pomnilniška naprava na fizičnem trdem disku</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation>Izberite, ali naj se nova datoteka navideznega trdega diska med uporabo povečuje (dinamično dodeljeno) ali naj se ustvari v največji velikosti (nespremenljiva velikost).</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation><p><b>Dinamično dodeljena</b> datoteka trdega diska bo uporabila samo toliko prostora na vašem trdem disku, kolikor ga zasede (do največ <b>Nespremenljive velikosti</b>), vendar se ne bo samodejno skrčila, ko je prostor sproščen.</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation><p>Ustvarjanje datoteke trdega diska <b>Nespremenljive velikosti</b> lahko na nekaterih sistemih traja dlje, vendar je pogosto hitrejša za uporabo.</p></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation><p>Lahko izberete tudi <b>razdelitev</b>, datoteke trdega diska v več datotek z do 2 GB na vsako. To je v glavnem uporabno, če želite shraniti navidezni računalnik na odstranljive naprave USB ali stare sisteme, ki ne podpirajo zelo velikih datotek.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic3.cpp" line="+3"/>
         <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation>Vtipkajte ime nove datoteke navideznega trdega diska v spodnje polje ali kliknite ikono mape, da izberete drugo mapo, v kateri boste ustvarili datoteko.</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="-9"/>
         <source>Choose a location for new virtual hard disk file...</source>
         <translation>Izberi mesto za novo datoteko navideznega trdega diska …</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation>Izberite velikost navideznega trdega diska v megabajtih. Velikost je omejitev količine podakov datoteke, ki jih navidezni računalnik lahko shrani na trdi disk.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageExpert.cpp" line="+2"/>
         <source>Hard disk file &type</source>
         <translation>&Vrsta datoteke trdega diska</translation>
     </message>
@@ -7345,77 +9243,101 @@
 <context>
     <name>UIWizardNewVM</name>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVM.cpp" line="+336"/>
         <source>Create Virtual Machine</source>
         <translation>Ustvari navidezni računalnik</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Create</source>
         <translation>Ustvari</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic1.cpp" line="+355"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+238"/>
         <source>Name and operating system</source>
         <translation>Ime in operacijski sistem</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
         <translation>Izberite opisno ime novega navideznega računalnika in vrsto operacijskega sistema, ki ga nameravate na njem namestiti. Izbrano ime bo uporabljeno v VirtualBoxu za prepoznavanje tega računalnika.</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic2.cpp" line="+132"/>
         <source>Memory size</source>
         <translation>Velikost pomnilnika</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><p>Select the amount of memory (RAM) in megabytes to be allocated to the virtual machine.</p><p>The recommended memory size is <b>%1</b> MB.</p></source>
         <translation><p>Izberite količino pomnilnika (RAM-a) v megabajtih za dodelitev navideznemu računalniku.</p><p>Priporočljiva velikost je <b>%1</b> MB.</p></translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+1"/>
         <source>&Memory size</source>
         <translation>&Velikost pomnilnika</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic3.cpp" line="+203"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+4"/>
         <source>Hard disk</source>
         <translation>Trdi disk</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation><p>Če želite, lahko novemu računalniku dodate navidezni trdi disk. Lahko ustavrite nov trdi disk ali enega izberete s seznama ali drugega mesta z uporabo ikone mape.</p><p>Če potrebujete bolj zapleteno nastavitev pomnilniških naprav, lahko ta korak preskočite in spremenite nastavitve po ustvarjanju računalnika.</p><p>Priporočljiva velikost trdega diska je <b>%1</b>.</p></translation>
     </message>
     <message>
+        <location line="+7"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+1"/>
         <source>&Do not add a virtual hard disk</source>
         <translation>&Ne dodaj navideznega trdega diska</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+1"/>
         <source>&Create a virtual hard disk now</source>
         <translation>&Ustvari navidezni trdi disk zdaj</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+1"/>
         <source>&Use an existing virtual hard disk file</source>
         <translation>&Uporabi obstoječo datoteko navideznega trdega diska</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="+1"/>
         <source>Choose a virtual hard disk file...</source>
         <translation>Izberi datoteko navideznega trdega diska …</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic1.cpp" line="-143"/>
         <source><p><nobr>Holds the name or full path to the virtual machine folder you are about to create.</nobr></p></source>
-        <translation type="unfinished"></translation>
+        <translation><p><nobr>Vsebuje ime ali polno pot do navideznega računalnika, ki ga boste ustvarli.</nobr></p></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source><p><nobr>You are about to create the virtual machine in the following folder:</nobr><br><nobr><b>%1</b></nobr></p></source>
-        <translation type="unfinished"></translation>
+        <translation><p><nobr>Navidezni računalnik boste ustvarili v naslednji mapi:</nobr><br><nobr><b>%1</b></nobr></p></translation>
     </message>
 </context>
 <context>
     <name>VBoxAboutDlg</name>
     <message>
+        <location filename="../src/VBoxAboutDlg.cpp" line="+70"/>
         <source>VirtualBox - About</source>
         <translation>O VirtualBoxu</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>VirtualBox Graphical User Interface</source>
         <translation>Grafični uporabniški vmesnik VirtualBox</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Version %1</source>
         <translation>Različica %1</translation>
     </message>
@@ -7485,775 +9407,967 @@
 <context>
     <name>VBoxGlobal</name>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-938"/>
         <source>Unknown device %1:%2</source>
         <comment>USB device details</comment>
         <translation>Neznana naprava %1:%2</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source><nobr>Vendor ID: %1</nobr><br><nobr>Product ID: %2</nobr><br><nobr>Revision: %3</nobr></source>
         <comment>USB device tooltip</comment>
         <translation><nobr>ID prodajalca: %1</nobr><br><nobr>ID izdelka: %2</nobr><br><nobr>Revizija: %3</nobr></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source><br><nobr>Serial No. %1</nobr></source>
         <comment>USB device tooltip</comment>
         <translation><br><nobr>Serijska št. %1</nobr></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><br><nobr>State: %1</nobr></source>
         <comment>USB device tooltip</comment>
         <translation><br><nobr>Stanje: %1</nobr></translation>
     </message>
     <message>
+        <location line="+111"/>
         <source>Name</source>
         <comment>details report</comment>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>OS Type</source>
         <comment>details report</comment>
         <translation>Vrsta OS-a</translation>
     </message>
     <message>
+        <location line="+77"/>
         <source>Base Memory</source>
         <comment>details report</comment>
         <translation>Osnovni pomnilnik</translation>
     </message>
     <message>
+        <location line="-70"/>
         <source>General</source>
         <comment>details report</comment>
         <translation>Splošno</translation>
     </message>
     <message>
+        <location line="+108"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-375"/>
         <source>Video Memory</source>
         <comment>details report</comment>
         <translation>Grafični pomnilnik</translation>
     </message>
     <message>
+        <location line="-29"/>
         <source>Boot Order</source>
         <comment>details report</comment>
         <translation>Vrstni red zagona</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>ACPI</source>
         <comment>details report</comment>
         <translation>ACPI</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>I/O APIC</source>
         <comment>details report</comment>
         <translation>I/O APIC</translation>
     </message>
     <message>
+        <location line="-49"/>
         <source>Enabled</source>
         <comment>details report (ACPI)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (ACPI)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Enabled</source>
         <comment>details report (I/O APIC)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (I/O APIC)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+211"/>
         <source>Disabled</source>
         <comment>details report (audio)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Audio</source>
         <comment>details report</comment>
         <translation>Zvok</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="+195"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+40"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="-267"/>
         <source>Adapter %1</source>
         <comment>details report (network)</comment>
         <translation>Vmesnik %1</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+9"/>
         <source>Disabled</source>
         <comment>details report (network)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Network</source>
         <comment>details report</comment>
         <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="+109"/>
         <source>Device Filters</source>
         <comment>details report (USB)</comment>
         <translation>Filtri naprav</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>%1 (%2 active)</source>
         <comment>details report (USB)</comment>
         <translation>%1 (%2 dejavnih)</translation>
     </message>
     <message>
+        <location line="-11"/>
         <source>Disabled</source>
         <comment>details report (USB)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+141"/>
         <source>Powered Off</source>
         <comment>MachineState</comment>
         <translation>Izklopljen</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Saved</source>
         <comment>MachineState</comment>
         <translation>Shranjen</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Aborted</source>
         <comment>MachineState</comment>
         <translation>Prekinjen</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Running</source>
         <comment>MachineState</comment>
         <translation>V izvajanju</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Paused</source>
         <comment>MachineState</comment>
         <translation>Premor</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Starting</source>
         <comment>MachineState</comment>
         <translation>Zaganjanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Stopping</source>
         <comment>MachineState</comment>
         <translation>Ustavljanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Saving</source>
         <comment>MachineState</comment>
         <translation>Shranjevanje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Restoring</source>
         <comment>MachineState</comment>
         <translation>Obnavljanje</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Spawning</source>
         <comment>SessionState</comment>
         <translation>Ustvarjanje</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>None</source>
         <comment>DeviceType</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Floppy</source>
         <comment>DeviceType</comment>
         <translation>Disketa</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Hard Disk</source>
         <comment>DeviceType</comment>
         <translation>Trdi disk</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Network</source>
         <comment>DeviceType</comment>
         <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="+221"/>
+        <location line="+165"/>
         <source>Null Audio Driver</source>
         <comment>AudioDriverType</comment>
         <translation>Nični zvočni gonilnik</translation>
     </message>
     <message>
+        <location line="-164"/>
+        <location line="+165"/>
         <source>Windows Multimedia</source>
         <comment>AudioDriverType</comment>
         <translation>Predstavnost Windows</translation>
     </message>
     <message>
+        <location line="-164"/>
+        <location line="+165"/>
         <source>OSS Audio Driver</source>
         <comment>AudioDriverType</comment>
         <translation>Zvočni gonilnik OSS</translation>
     </message>
     <message>
+        <location line="-164"/>
+        <location line="+165"/>
         <source>ALSA Audio Driver</source>
         <comment>AudioDriverType</comment>
         <translation>Zvočni gonilnik ALSA</translation>
     </message>
     <message>
+        <location line="-164"/>
+        <location line="+165"/>
         <source>Windows DirectSound</source>
         <comment>AudioDriverType</comment>
         <translation>Windows DirectSound</translation>
     </message>
     <message>
+        <location line="-164"/>
+        <location line="+165"/>
         <source>CoreAudio</source>
         <comment>AudioDriverType</comment>
         <translation>CoreAudio</translation>
     </message>
     <message>
+        <location line="-278"/>
         <source>Not attached</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Ni priklopljeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>NAT</source>
         <comment>NetworkAttachmentType</comment>
         <translation>NAT</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Internal Network</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Notranje omrežje</translation>
     </message>
     <message>
+        <location line="+77"/>
         <source>Not supported</source>
         <comment>USBDeviceState</comment>
         <translation>Ni podprto</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Unavailable</source>
         <comment>USBDeviceState</comment>
         <translation>Ni na voljo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Busy</source>
         <comment>USBDeviceState</comment>
         <translation>Zasedeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Available</source>
         <comment>USBDeviceState</comment>
         <translation>No voljo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Held</source>
         <comment>USBDeviceState</comment>
         <translation>Zadržano</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Captured</source>
         <comment>USBDeviceState</comment>
         <translation>Zajeto</translation>
     </message>
     <message>
+        <location line="-185"/>
         <source>Disabled</source>
         <comment>ClipboardType</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Host To Guest</source>
         <comment>ClipboardType</comment>
         <translation>Gostitelj v gost</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest To Host</source>
         <comment>ClipboardType</comment>
         <translation>Gost v gostitelj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Bidirectional</source>
         <comment>ClipboardType</comment>
         <translation>Obojesmerno</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-70"/>
         <source>Port %1</source>
         <comment>details report (serial ports)</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Disabled</source>
         <comment>details report (serial ports)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Serial Ports</source>
         <comment>details report</comment>
         <translation>Zaporedna vrata</translation>
     </message>
     <message>
+        <location line="+72"/>
         <source>USB</source>
         <comment>details report</comment>
         <translation>USB</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Shared Folders</source>
         <comment>details report (shared folders)</comment>
-        <translation>Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>None</source>
         <comment>details report (shared folders)</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Shared Folders</source>
         <comment>details report</comment>
-        <translation>Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+149"/>
+        <location line="+192"/>
         <source>Disconnected</source>
         <comment>PortMode</comment>
         <translation>Prekinjen</translation>
     </message>
     <message>
+        <location line="-191"/>
+        <location line="+192"/>
         <source>Host Pipe</source>
         <comment>PortMode</comment>
         <translation>Cev gostitelja</translation>
     </message>
     <message>
+        <location line="-191"/>
+        <location line="+192"/>
         <source>Host Device</source>
         <comment>PortMode</comment>
         <translation>Gostiteljska naprava</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+676"/>
         <source>User-defined</source>
         <comment>serial port</comment>
         <translation>Uporabniško določeno</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-194"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-1043"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+222"/>
         <source>VT-x/AMD-V</source>
         <comment>details report</comment>
         <translation>VT-x/AMD-V</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-5"/>
         <source>PAE/NX</source>
         <comment>details report</comment>
         <translation>PAE/NX</translation>
     </message>
     <message>
+        <location line="-32"/>
         <source>Enabled</source>
         <comment>details report (VT-x/AMD-V)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (VT-x/AMD-V)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="-9"/>
         <source>Enabled</source>
         <comment>details report (PAE/NX)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (PAE/NX)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+199"/>
         <source>Host Driver</source>
         <comment>details report (audio)</comment>
         <translation>Gonilnik gostitelja</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Controller</source>
         <comment>details report (audio)</comment>
         <translation>Krmilnik</translation>
     </message>
     <message>
+        <location line="+134"/>
         <source>Port %1</source>
         <comment>details report (parallel ports)</comment>
         <translation>Vrata %1</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Disabled</source>
         <comment>details report (parallel ports)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Parallel Ports</source>
         <comment>details report</comment>
         <translation>Vzporedna vrata</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-358"/>
         <source>USB</source>
         <comment>DeviceType</comment>
         <translation>USB</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Shared Folder</source>
         <comment>DeviceType</comment>
-        <translation>Deljena mapa</translation>
+        <translation>Souporaba mape</translation>
     </message>
     <message>
+        <location line="+264"/>
         <source>IDE</source>
         <comment>StorageBus</comment>
         <translation>IDE</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>SATA</source>
         <comment>StorageBus</comment>
         <translation>SATA</translation>
     </message>
     <message>
+        <location line="-38"/>
+        <location line="+165"/>
         <source>Solaris Audio</source>
         <comment>AudioDriverType</comment>
         <translation>Zvok Solaris</translation>
     </message>
     <message>
+        <location line="-166"/>
+        <location line="+165"/>
         <source>PulseAudio</source>
         <comment>AudioDriverType</comment>
         <translation>PulseAudio</translation>
     </message>
     <message>
+        <location line="-153"/>
+        <location line="+166"/>
         <source>ICH AC97</source>
         <comment>AudioControllerType</comment>
         <translation>ICH AC97</translation>
     </message>
     <message>
+        <location line="-165"/>
+        <location line="+166"/>
         <source>SoundBlaster 16</source>
         <comment>AudioControllerType</comment>
         <translation>SoundBlaster 16</translation>
     </message>
     <message>
+        <location line="-277"/>
         <source>PCnet-PCI II (Am79C970A)</source>
         <comment>NetworkAdapterType</comment>
         <translation>PCnet-PCI II (Am79C970A)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>PCnet-FAST III (Am79C973)</source>
         <comment>NetworkAdapterType</comment>
         <translation>PCnet-FAST III (Am79C973)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Intel PRO/1000 MT Desktop (82540EM)</source>
         <comment>NetworkAdapterType</comment>
         <translation>Intel PRO/1000 MT Desktop (82540EM)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Intel PRO/1000 T Server (82543GC)</source>
         <comment>NetworkAdapterType</comment>
         <translation>Intel PRO/1000 T Server (82543GC)</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-502"/>
         <source><nobr>Vendor ID: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>ID prodajalca: %1</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Product ID: %2</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>ID izdelka: %2</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Revision: %3</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Revizija: %3</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Product: %4</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Izdelek: %4</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Manufacturer: %5</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Izdelovalec: %5</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Serial No.: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Serijska št.: %1</nobr></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><nobr>Port: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Vrata: %1</nobr></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source><nobr>State: %1</nobr></source>
         <comment>USB filter tooltip</comment>
         <translation><nobr>Stanje: %1</nobr></translation>
     </message>
     <message>
+        <location filename="../src/medium/UIMedium.cpp" line="+505"/>
         <source>Checking...</source>
         <comment>medium</comment>
         <translation>Preverjanje …</translation>
     </message>
     <message>
+        <location line="+4"/>
+        <location filename="../src/selector/graphics/details/UIGDetailsElements.cpp" line="+18"/>
         <source>Inaccessible</source>
         <comment>medium</comment>
         <translation>Nedostopen</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+194"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-203"/>
         <source>3D Acceleration</source>
         <comment>details report</comment>
         <translation>Pospeševanje 3D</translation>
     </message>
     <message>
+        <location line="-4"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-3"/>
         <source>Enabled</source>
         <comment>details report (3D Acceleration)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+1"/>
         <source>Disabled</source>
         <comment>details report (3D Acceleration)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-182"/>
         <source>Setting Up</source>
         <comment>MachineState</comment>
         <translation>Nastavitev</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+1005"/>
         <source>Differencing</source>
         <comment>DiskType</comment>
         <translation>Razlikovalen</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="+1"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-1040"/>
         <source>Nested Paging</source>
         <comment>details report</comment>
         <translation>Ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-33"/>
         <source>Enabled</source>
         <comment>details report (Nested Paging)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (Nested Paging)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+224"/>
         <source>Internal network, '%1'</source>
         <comment>details report (network)</comment>
         <translation>Notranje omrežje, '%1'</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+317"/>
         <source>SCSI</source>
         <comment>StorageBus</comment>
         <translation>SCSI</translation>
     </message>
     <message>
+        <location line="+18"/>
+        <location line="+151"/>
         <source>PIIX3</source>
         <comment>StorageControllerType</comment>
         <translation>PIIX3</translation>
     </message>
     <message>
+        <location line="-150"/>
+        <location line="+151"/>
         <source>PIIX4</source>
         <comment>StorageControllerType</comment>
         <translation>PIIX4</translation>
     </message>
     <message>
+        <location line="-150"/>
+        <location line="+151"/>
         <source>ICH6</source>
         <comment>StorageControllerType</comment>
         <translation>ICH6</translation>
     </message>
     <message>
+        <location line="-154"/>
+        <location line="+151"/>
         <source>AHCI</source>
         <comment>StorageControllerType</comment>
         <translation>AHCI</translation>
     </message>
     <message>
+        <location line="-153"/>
+        <location line="+151"/>
         <source>Lsilogic</source>
         <comment>StorageControllerType</comment>
         <translation>Lsilogic</translation>
     </message>
     <message>
+        <location line="-150"/>
+        <location line="+151"/>
         <source>BusLogic</source>
         <comment>StorageControllerType</comment>
         <translation>BusLogic</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-3"/>
         <source>Bridged adapter, %1</source>
         <comment>details report (network)</comment>
         <translation>Povezan vmesnik, %1</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Host-only adapter, '%1'</source>
         <comment>details report (network)</comment>
         <translation>Vmesnik samo za gostitelja, '%1'</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-301"/>
         <source>Intel PRO/1000 MT Server (82545EM)</source>
         <comment>NetworkAdapterType</comment>
         <translation>Intel PRO/1000 MT Server (82545EM)</translation>
     </message>
     <message>
+        <location line="-19"/>
         <source>Bridged Adapter</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Povezan vmesnik</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Host-only Adapter</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Vmesnik samo za gostitelja</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-213"/>
+        <location line="+38"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-19"/>
         <source><nobr>%1 MB</nobr></source>
         <comment>details report</comment>
         <translation><nobr>%1 MB</nobr></translation>
     </message>
     <message>
+        <location line="-36"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+239"/>
         <source>Processor(s)</source>
         <comment>details report</comment>
         <translation>Procesor(ji)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><nobr>%1</nobr></source>
         <comment>details report</comment>
         <translation><nobr>%1</nobr></translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>System</source>
         <comment>details report</comment>
         <translation>Sistem</translation>
     </message>
     <message>
+        <location line="+62"/>
         <source>Display</source>
         <comment>details report</comment>
         <translation>Zaslon</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+51"/>
+        <location line="+192"/>
         <source>Raw File</source>
         <comment>PortMode</comment>
         <translation>Surova datoteka</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-27"/>
         <source>Enabled</source>
         <comment>details report (2D Video Acceleration)</comment>
         <translation>Omogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (2D Video Acceleration)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>2D Video Acceleration</source>
         <comment>details report</comment>
-        <translation>Pospeševanje slike 2D</translation>
+        <translation>Grafično pospeševanje 2D</translation>
     </message>
     <message>
+        <location line="+87"/>
         <source>Not Attached</source>
         <comment>details report (Storage)</comment>
         <translation>Ni priklopljen</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Storage</source>
         <comment>details report</comment>
         <translation>Pomnilnške naprave</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-428"/>
         <source>Teleported</source>
         <comment>MachineState</comment>
         <translation>Prenesen na daljavo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Guru Meditation</source>
         <comment>MachineState</comment>
         <translation>Meditacija guru</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location line="+9"/>
         <source>Teleporting</source>
         <comment>MachineState</comment>
         <translation>Prenašanje na daljavo</translation>
     </message>
     <message>
+        <location line="-6"/>
         <source>Taking Live Snapshot</source>
         <comment>MachineState</comment>
         <translation>Zajem posnetka stanja v živo</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Teleporting Paused VM</source>
         <comment>MachineState</comment>
         <translation> Prenašanja na daljavo navideznega računalnika v premoru</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Restoring Snapshot</source>
         <comment>MachineState</comment>
         <translation>Obnavljanje posnetka stanja</translation>
     </message>
     <message>
+        <location line="-2"/>
+        <location line="+1"/>
+        <location line="+2"/>
         <source>Deleting Snapshot</source>
         <comment>MachineState</comment>
         <translation>Brisanje posnetka stanja</translation>
     </message>
     <message>
+        <location line="+319"/>
         <source>Floppy</source>
         <comment>StorageBus</comment>
         <translation>Disketa</translation>
     </message>
     <message>
+        <location line="-133"/>
         <source>Paravirtualized Network (virtio-net)</source>
         <comment>NetworkAdapterType</comment>
         <translation>Paranavidezno omrežje (virtio-net)</translation>
     </message>
     <message>
+        <location line="+153"/>
+        <location line="+151"/>
         <source>I82078</source>
         <comment>StorageControllerType</comment>
         <translation>I82078</translation>
     </message>
     <message>
+        <location filename="../src/medium/UIMedium.cpp" line="-362"/>
         <source>Empty</source>
         <comment>medium</comment>
         <translation>Prazno</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>Host Drive '%1'</source>
         <comment>medium</comment>
         <translation>Pogon gostitelja '%1'</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Host Drive %1 (%2)</source>
         <comment>medium</comment>
         <translation>Pogon gostitelja %1 (%2)</translation>
     </message>
     <message>
+        <location line="+164"/>
         <source><p style=white-space:pre>Type (Format):  %1 (%2)</p></source>
         <comment>medium</comment>
         <translation><p style=white-space:pre>Vrsta (oblika):  %1 (%2)</p></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source><p>Attached to:  %1</p></source>
         <comment>image</comment>
         <translation><p>Priklopljen v: %1</p></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><i>Not Attached</i></source>
         <comment>image</comment>
         <translation><i>Ni priklopljen</i></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source><i>Checking accessibility...</i></source>
         <comment>medium</comment>
         <translation><i>Preverjanje dostopnosti …</i></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Failed to check accessibility of disk image files.</source>
         <comment>medium</comment>
         <translation>Preverjanje dostopnosti datotek odtisa diska je spodletelo.</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source><b>No disk image file selected</b></source>
         <comment>medium</comment>
         <translation><b>Ni izbranega trdega diska</b></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>You can also change this while the machine is running.</source>
         <translation>To lahko spremenite tudi med izvajanjem računalnika.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><b>No disk image files available</b></source>
         <comment>medium</comment>
         <translation><b>Nobena datoteka odtisa diska ni na voljo</b></translation>
     </message>
     <message numerus="yes">
+        <location filename="../src/globals/VBoxGlobal.h" line="+237"/>
         <source>%n year(s)</source>
         <translation>
             <numerusform>%n leto</numerusform>
@@ -8263,6 +10377,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+5"/>
         <source>%n month(s)</source>
         <translation>
             <numerusform>%n mesec</numerusform>
@@ -8272,6 +10387,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+5"/>
         <source>%n day(s)</source>
         <translation>
             <numerusform>%n dan</numerusform>
@@ -8281,6 +10397,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+5"/>
         <source>%n hour(s)</source>
         <translation>
             <numerusform>%n ura</numerusform>
@@ -8290,6 +10407,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+5"/>
         <source>%n minute(s)</source>
         <translation>
             <numerusform>%n minuta</numerusform>
@@ -8299,6 +10417,7 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location line="+5"/>
         <source>%n second(s)</source>
         <translation>
             <numerusform>%n sekunda</numerusform>
@@ -8308,748 +10427,993 @@
         </translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-114"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-229"/>
         <source>Screens</source>
         <comment>details report</comment>
         <translation>Zasloni</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-170"/>
         <source>SAS</source>
         <comment>StorageBus</comment>
         <translation>SAS</translation>
     </message>
     <message>
+        <location line="+20"/>
+        <location line="+151"/>
         <source>LsiLogic SAS</source>
         <comment>StorageControllerType</comment>
         <translation>LsiLogic SAS</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendGlobal.cpp" line="+78"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+1594"/>
+        <location line="+32"/>
         <source>B</source>
         <comment>size suffix Bytes</comment>
         <translation>B</translation>
     </message>
     <message>
+        <location line="-18"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-31"/>
+        <location line="+33"/>
         <source>KB</source>
         <comment>size suffix KBytes=1024 Bytes</comment>
         <translation>kB</translation>
     </message>
     <message>
+        <location line="-18"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-32"/>
+        <location line="+34"/>
+        <location filename="../src/widgets/UIApplianceEditorWidget.cpp" line="+28"/>
+        <location line="+193"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic2.cpp" line="+4"/>
+        <location line="+1"/>
+        <location line="+1"/>
+        <location filename="../src/wizards/newvm/UIWizardNewVMPageExpert.cpp" line="-7"/>
+        <location line="+1"/>
+        <location line="+1"/>
         <source>MB</source>
         <comment>size suffix MBytes=1024 KBytes</comment>
         <translation>MB</translation>
     </message>
     <message>
+        <location line="-18"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-33"/>
+        <location line="+35"/>
         <source>GB</source>
         <comment>size suffix GBytes=1024 MBytes</comment>
         <translation>GB</translation>
     </message>
     <message>
+        <location line="-18"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-34"/>
+        <location line="+36"/>
         <source>TB</source>
         <comment>size suffix TBytes=1024 GBytes</comment>
         <translation>TB</translation>
     </message>
     <message>
+        <location line="-18"/>
+        <location line="+19"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-35"/>
+        <location line="+37"/>
         <source>PB</source>
         <comment>size suffix PBytes=1024 TBytes</comment>
         <translation>PB</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+215"/>
         <source>Nested Paging</source>
         <translation>Ugnezdeno odstranjevanje</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-1929"/>
         <source>Unknown device</source>
         <comment>USB device details</comment>
         <translation>Neznana naprava</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="+5"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+322"/>
         <source>Remote Desktop Server Port</source>
         <comment>details report (VRDE Server)</comment>
         <translation>Vrata strežnika oddaljenega namizja</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+4"/>
         <source>Remote Desktop Server</source>
         <comment>details report (VRDE Server)</comment>
         <translation>Strežnik oddaljenega namizja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Disabled</source>
         <comment>details report (VRDE Server)</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+462"/>
         <source>All files (*)</source>
         <translation>Vse datoteke (*)</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-495"/>
         <source>Fault Tolerant Syncing</source>
         <comment>MachineState</comment>
         <translation>Usklajevanje strpno do napak</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Unlocked</source>
         <comment>SessionState</comment>
         <translation>Odklenjeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Locked</source>
         <comment>SessionState</comment>
         <translation>Zaklenjeno</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Unlocking</source>
         <comment>SessionState</comment>
         <translation>Odklepanje</translation>
     </message>
     <message>
+        <location line="+284"/>
+        <location line="+167"/>
         <source>Null</source>
         <comment>AuthType</comment>
         <translation>Prazno</translation>
     </message>
     <message>
+        <location line="-166"/>
+        <location line="+167"/>
         <source>External</source>
         <comment>AuthType</comment>
         <translation>Zunanje</translation>
     </message>
     <message>
+        <location line="-166"/>
+        <location line="+167"/>
         <source>Guest</source>
         <comment>AuthType</comment>
         <translation>Gost</translation>
     </message>
     <message>
+        <location line="-180"/>
+        <location line="+166"/>
         <source>Intel HD Audio</source>
         <comment>AudioControllerType</comment>
         <translation>Zvok Intel HD</translation>
     </message>
     <message>
+        <location line="-105"/>
         <source>PIIX3</source>
         <comment>ChipsetType</comment>
         <translation>PIIX3</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>ICH9</source>
         <comment>ChipsetType</comment>
         <translation>ICH9</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-537"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+2"/>
         <source>Execution Cap</source>
         <comment>details report</comment>
         <translation>Omejitev izvajanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source><nobr>%1%</nobr></source>
         <comment>details report</comment>
         <translation><nobr>%1</nobr></translation>
     </message>
     <message>
+        <location line="+210"/>
         <source>Generic, '%1'</source>
         <comment>details report (network)</comment>
         <translation>Splošno, '%1'</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-186"/>
         <source>Generic Driver</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Splošni gonilnik</translation>
     </message>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsNetwork.cpp" line="-176"/>
         <source>Adapter %1</source>
         <translation>Vmesnik %1</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-91"/>
         <source>Disabled</source>
         <comment>DragAndDropType</comment>
         <translation>Onemogočeno</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Host To Guest</source>
         <comment>DragAndDropType</comment>
         <translation>Gostitelj v gost</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Guest To Host</source>
         <comment>DragAndDropType</comment>
         <translation>Gost v gostitelj</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Bidirectional</source>
         <comment>DragAndDropType</comment>
         <translation>Obojesmerno</translation>
     </message>
     <message>
+        <location line="+26"/>
         <source>Normal</source>
         <comment>MediumType</comment>
         <translation>Običajen</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Immutable</source>
         <comment>MediumType</comment>
         <translation>Nespremenljiv</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Writethrough</source>
         <comment>MediumType</comment>
         <translation>Sprotno zapisljiv</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Shareable</source>
         <comment>MediumType</comment>
-        <translation>Deljiv</translation>
+        <translation>Souporaba mogoča</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Readonly</source>
         <comment>MediumType</comment>
         <translation>Samo za branje</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Multi-attach</source>
         <comment>MediumType</comment>
         <translation>Večsmerno priklopljiv</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Dynamically allocated storage</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena pomnilniška naprava</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Dynamically allocated differencing storage</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena razlikovalna pomnilniška naprava</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Fixed size storage</source>
         <comment>MediumVariant</comment>
         <translation>Pomnilniška naprava nespremnljive velikosti</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Dynamically allocated storage split into files of less than 2GB</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena pomnilniška naprava razdeljena v datoteke z manj kot 2 GB</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Dynamically allocated differencing storage split into files of less than 2GB</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena razlikovalna pomnilniška naprava razdeljena v datoteke z manj kot 2 GB</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Fixed size storage split into files of less than 2GB</source>
         <comment>MediumVariant</comment>
         <translation>Pomnilniška naprava nespremenljive velikosti razdeljena v datoteke z manj kot 2 GB</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Dynamically allocated compressed storage</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena stisnjena pomnilniška naprava</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Dynamically allocated differencing compressed storage</source>
         <comment>MediumVariant</comment>
         <translation>Dinamično dodeljena razlikovalna stisnjena pomnilniška naprava</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Fixed size ESX storage</source>
         <comment>MediumVariant</comment>
         <translation>Pomnilniška naprava nespremnljive velikosti ESX</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Fixed size storage on raw disk</source>
         <comment>MediumVariant</comment>
         <translation>Pomnilniška naprava nespremnljive velikosti  na surovem disku</translation>
     </message>
     <message>
+        <location line="+51"/>
         <source>Deny</source>
         <comment>NetworkAdapterPromiscModePolicy</comment>
         <translation>Zavrni</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Allow VMs</source>
         <comment>NetworkAdapterPromiscModePolicy</comment>
         <translation>Dovoli navidezne računalnike</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Allow All</source>
         <comment>NetworkAdapterPromiscModePolicy</comment>
         <translation>Dovoli vse</translation>
     </message>
     <message>
+        <location line="+56"/>
+        <location line="+164"/>
         <source>Ignore</source>
         <comment>USBDeviceFilterAction</comment>
         <translation>Prezri</translation>
     </message>
     <message>
+        <location line="-163"/>
+        <location line="+164"/>
         <source>Hold</source>
         <comment>USBDeviceFilterAction</comment>
         <translation>Zadrži</translation>
     </message>
     <message>
+        <location line="-59"/>
         <source>UDP</source>
         <comment>NATProtocol</comment>
         <translation>UDP</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>TCP</source>
         <comment>NATProtocol</comment>
         <translation>TCP</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendGlobal.cpp" line="+29"/>
+        <location line="+118"/>
         <source>IDE Primary Master</source>
         <comment>StorageSlot</comment>
         <translation>Primaren glavni IDE</translation>
     </message>
     <message>
+        <location line="-116"/>
+        <location line="+117"/>
         <source>IDE Primary Slave</source>
         <comment>StorageSlot</comment>
         <translation>Primaren podrejen IDE</translation>
     </message>
     <message>
+        <location line="-115"/>
+        <location line="+116"/>
         <source>IDE Secondary Master</source>
         <comment>StorageSlot</comment>
         <translation>Sekundaren glavni IDE</translation>
     </message>
     <message>
+        <location line="-114"/>
+        <location line="+115"/>
         <source>IDE Secondary Slave</source>
         <comment>StorageSlot</comment>
         <translation>Sekundaren podrejen IDE</translation>
     </message>
     <message>
+        <location line="-99"/>
+        <location line="+100"/>
         <source>SATA Port %1</source>
         <comment>StorageSlot</comment>
         <translation>Vrata SATA %1</translation>
     </message>
     <message>
+        <location line="-84"/>
+        <location line="+85"/>
         <source>SCSI Port %1</source>
         <comment>StorageSlot</comment>
         <translation>Vrata SCSI %1</translation>
     </message>
     <message>
+        <location line="-69"/>
+        <location line="+70"/>
         <source>SAS Port %1</source>
         <comment>StorageSlot</comment>
         <translation>Vrata SAS %1</translation>
     </message>
     <message>
+        <location line="-54"/>
+        <location line="+55"/>
         <source>Floppy Device %1</source>
         <comment>StorageSlot</comment>
         <translation>Disketna naprava %1</translation>
     </message>
     <message>
+        <location line="+639"/>
+        <location line="+30"/>
         <source>General</source>
         <comment>DetailsElementType</comment>
         <translation>Splošno</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Preview</source>
         <comment>DetailsElementType</comment>
         <translation>Predogled</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>System</source>
         <comment>DetailsElementType</comment>
         <translation>Sistem</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Display</source>
         <comment>DetailsElementType</comment>
         <translation>Zaslon</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Storage</source>
         <comment>DetailsElementType</comment>
         <translation>Pomnilnške naprave</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Audio</source>
         <comment>DetailsElementType</comment>
         <translation>Zvok</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Network</source>
         <comment>DetailsElementType</comment>
         <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Serial ports</source>
         <comment>DetailsElementType</comment>
         <translation>Zaporedna vrata</translation>
     </message>
     <message>
+        <location line="-28"/>
+        <location line="+30"/>
         <source>Parallel ports</source>
         <comment>DetailsElementType</comment>
         <translation>Vzporedna vrata</translation>
     </message>
     <message>
+        <location line="-28"/>
+        <location line="+30"/>
         <source>USB</source>
         <comment>DetailsElementType</comment>
         <translation>USB</translation>
     </message>
     <message>
+        <location line="-29"/>
+        <location line="+30"/>
         <source>Shared folders</source>
         <comment>DetailsElementType</comment>
-        <translation>Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
     <message>
+        <location line="-28"/>
+        <location line="+30"/>
         <source>Description</source>
         <comment>DetailsElementType</comment>
         <translation>Opis</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+287"/>
         <source>Please choose a virtual optical disk file</source>
         <translation>Izberite datoteko navideznega optičnega diska</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>All virtual optical disk files (%1)</source>
         <translation>Vse datoteke navideznega optičnega diska (%1)</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Please choose a virtual floppy disk file</source>
         <translation>Izberite datoteko navidezne diskete</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>All virtual floppy disk files (%1)</source>
         <translation>Vse datoteke navidezne diskete (%1)</translation>
     </message>
     <message>
+        <location line="+2056"/>
         <source>VDI (VirtualBox Disk Image)</source>
         <translation>VDI (Odtis diska VirtualBox - angl. VirtualBox Disk Image)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>VMDK (Virtual Machine Disk)</source>
         <translation>VMDK (disk navideznega računalnika - angl. Virtual Machine Disk)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>VHD (Virtual Hard Disk)</source>
         <translation>VHD (navidezni trdi disk - angl. Virtual Hard Disk)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>HDD (Parallels Hard Disk)</source>
         <translation>HDD (vzporedni trdi disk - angl. Parallels Hard Disk)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>QED (QEMU enhanced disk)</source>
         <translation>QED (izboljšani disk QEMU - angl. QEMU enhanced disk)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>QCOW (QEMU Copy-On-Write)</source>
         <translation>QCOW (kopiranje ob pisanju QEMU - angl. QEMU Copy-On-Write)</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-4"/>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation>Neomejeno izvajanje</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-275"/>
         <source>PS/2 Mouse</source>
         <comment>PointingHIDType</comment>
         <translation>Miška PS/2</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>USB Mouse</source>
         <comment>PointingHIDType</comment>
         <translation>Miška USB</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>PS/2 and USB Mouse</source>
         <comment>PointingHIDType</comment>
         <translation>Miška PS/2 in USB</translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-1"/>
         <source>Unrestricted Execution</source>
         <translation>Neomejeno izvajanje</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-1"/>
         <source>USB Tablet</source>
         <comment>PointingHIDType</comment>
         <translation>Tablica USB</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>USB Multi-Touch Tablet</source>
         <comment>PointingHIDType</comment>
         <translation>Večdotična tablica USB</translation>
     </message>
     <message>
+        <location line="+74"/>
         <source>NAT Network</source>
         <comment>NetworkAttachmentType</comment>
         <translation>Omrežje NAT</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-2363"/>
         <source>NAT network, '%1'</source>
         <comment>details report (network)</comment>
         <translation>Omrežje NAT, '%1'</translation>
     </message>
     <message>
+        <location filename="../src/medium/UIMedium.cpp" line="+1"/>
         <source>You can create or add disk image files in the virtual machine settings.</source>
         <translation>Datoteke odtisa diska lahko dodate ali ustvarite v nastavitvah navideznega računalnika.</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+172"/>
+        <location line="+151"/>
         <source>USB</source>
         <comment>StorageControllerType</comment>
         <translation>USB</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendGlobal.cpp" line="-722"/>
+        <location line="+40"/>
         <source>USB Port %1</source>
         <comment>StorageSlot</comment>
         <translation>Vrata USB %1</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-85"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="-175"/>
         <source>off</source>
         <comment>guest monitor status</comment>
         <translation>Izklopljen</translation>
     </message>
     <message>
+        <location line="+86"/>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="-199"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+7"/>
         <source>Paravirtualization Interface</source>
         <comment>details report</comment>
         <translation>Vmesnik paranavideznosti</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-462"/>
         <source>None</source>
         <comment>ParavirtProvider</comment>
         <translation>Brez</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Default</source>
         <comment>ParavirtProvider</comment>
         <translation>Privzeto</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Legacy</source>
         <comment>ParavirtProvider</comment>
         <translation>Zastarelo</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Minimal</source>
         <comment>ParavirtProvider</comment>
         <translation>Najmanjše</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Hyper-V</source>
         <comment>ParavirtProvider</comment>
         <translation>Hyper-V</translation>
     </message>
     <message>
+        <location line="+96"/>
         <source>New dynamically allocated storage</source>
         <comment>MediumVariant</comment>
         <translation>Nova dinamično dodeljena pomnilniška naprava</translation>
     </message>
     <message>
+        <location filename="../src/UIVMInfoDialog.cpp" line="-61"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="-36"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+26"/>
         <source>Active</source>
         <comment>details report (VT-x/AMD-V)</comment>
         <translation>Dejavno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+1"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+1"/>
         <source>Inactive</source>
         <comment>details report (VT-x/AMD-V)</comment>
         <translation>Nedejavno</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+4"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+2"/>
         <source>Active</source>
         <comment>details report (Nested Paging)</comment>
         <translation>Dejavno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+1"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+1"/>
         <source>Inactive</source>
         <comment>details report (Nested Paging)</comment>
         <translation>Nedejavno</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+4"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+2"/>
         <source>Active</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation>Dejavno</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/runtime/UIIndicatorsPool.cpp" line="+1"/>
+        <location filename="../src/runtime/information/UIInformationDataItem.cpp" line="+1"/>
         <source>Inactive</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation>Nedejavno</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="-143"/>
         <source>Taking Snapshot</source>
         <comment>MachineState</comment>
         <translation>Zajemanje posnetka stanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Taking Online Snapshot</source>
         <comment>MachineState</comment>
         <translation>Zajemanje posnetka stanja s povezavo</translation>
     </message>
     <message>
+        <location line="+47"/>
         <source>KVM</source>
         <comment>ParavirtProvider</comment>
         <translation>KVM</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Optical</source>
         <comment>DeviceType</comment>
         <translation>Optični</translation>
     </message>
     <message>
+        <location line="+171"/>
+        <location line="+192"/>
         <source>TCP</source>
         <comment>PortMode</comment>
         <translation>TCP</translation>
     </message>
     <message>
+        <location line="-181"/>
         <source>OHCI</source>
         <comment>USBControllerType</comment>
         <translation>OHCI</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>EHCI</source>
         <comment>USBControllerType</comment>
         <translation>EHCI</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>xHCI</source>
         <comment>USBControllerType</comment>
         <translation>xHCI</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendGlobal.cpp" line="+651"/>
+        <location line="+30"/>
         <source>User interface</source>
         <comment>DetailsElementType</comment>
         <translation>Uporabniški vmesnik</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+100"/>
         <source>(Optical Drive)</source>
         <translation>(optični pogon)</translation>
     </message>
     <message>
+        <location filename="../src/medium/UIMedium.cpp" line="+86"/>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation>Šifriran</translation>
     </message>
     <message>
+        <location filename="../src/globals/VBoxGlobal.cpp" line="+371"/>
         <source>Please choose a virtual hard disk file</source>
         <translation>Izberite datoteko navideznega trdega diska</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>All virtual hard disk files (%1)</source>
         <translation>Vse datoteke navideznega trdega diska (%1)</translation>
     </message>
     <message>
+        <location filename="../src/medium/UIMedium.cpp" line="-76"/>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation>Priklop tega trdega diska bo opravljen posredno z uporabo na novo ustvarjenega razlikovalnega trdega diska.</translation>
     </message>
     <message>
+        <location line="+164"/>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation>Nekatere datoteke v tej verigi trdih diskov so nedostopne. Uporabite Upravljalnika navideznih nosilcev, da pregledate te datoteke.</translation>
     </message>
     <message>
+        <location line="+16"/>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation>Osnovni trdi disk je posredno priklopljen z uporabo naslednjega razlikovalnega trdega diska:</translation>
     </message>
     <message>
+        <location filename="../src/wizards/newvd/UIWizardNewVDPageBasic3.cpp" line="-284"/>
         <source>Please choose a location for new virtual hard disk file</source>
         <translation>Izberite mesto nove datoteke navideznega trdega diska</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendCOM.cpp" line="+89"/>
         <source>USB</source>
         <comment>StorageBus</comment>
-        <translation type="unfinished">USB</translation>
+        <translation>USB</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>PCIe</source>
         <comment>StorageBus</comment>
-        <translation type="unfinished"></translation>
+        <translation>PCIe</translation>
     </message>
     <message>
+        <location line="+20"/>
+        <location line="+151"/>
         <source>NVMe</source>
         <comment>StorageControllerType</comment>
-        <translation type="unfinished"></translation>
+        <translation>NVMe</translation>
     </message>
     <message>
+        <location filename="../src/converter/UIConverterBackendGlobal.cpp" line="-705"/>
         <source>NVMe Port %1</source>
         <comment>StorageSlot</comment>
-        <translation type="unfinished"></translation>
+        <translation>Vrata NVMe %1</translation>
     </message>
     <message>
+        <location line="+1358"/>
+        <location line="+33"/>
         <source>General</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Splošno</translation>
+        <translation>Splošno</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Preview</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Predogled</translation>
+        <translation>Predogled</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>System</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Sistem</translation>
+        <translation>Sistem</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Display</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Zaslon</translation>
+        <translation>Zaslon</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Storage</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Pomnilnške naprave</translation>
+        <translation>Pomnilnške naprave</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Audio</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Zvok</translation>
+        <translation>Zvok</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Network</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Omrežje</translation>
+        <translation>Omrežje</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Serial ports</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Zaporedna vrata</translation>
+        <translation>Zaporedna vrata</translation>
     </message>
     <message>
+        <location line="-31"/>
+        <location line="+33"/>
         <source>Parallel ports</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Vzporedna vrata</translation>
+        <translation>Vzporedna vrata</translation>
     </message>
     <message>
+        <location line="-31"/>
+        <location line="+33"/>
         <source>USB</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">USB</translation>
+        <translation>USB</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Shared folders</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Deljene mape</translation>
+        <translation>Souporaba map</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>User interface</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Uporabniški vmesnik</translation>
+        <translation>Uporabniški vmesnik</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Description</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished">Opis</translation>
+        <translation>Opis</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Runtime attributes</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished"></translation>
+        <translation>Lastnosti izvajanja</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Storage statistics</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished"></translation>
+        <translation>Statistika pomnilniških naprav</translation>
     </message>
     <message>
+        <location line="-32"/>
+        <location line="+33"/>
         <source>Network statistics</source>
         <comment>InformationElementType</comment>
-        <translation type="unfinished"></translation>
+        <translation>Omrežna statistika</translation>
     </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
     <message>
+        <location filename="../src/VBoxGlobalSettings.cpp" line="+271"/>
         <source>The value '%1' of the key '%2' doesn't match the regexp constraint '%3'.</source>
         <translation>Vrednost '%1' ključa '%2' se ne ujema z omejitvijo  regexp '%3'.</translation>
     </message>
     <message>
+        <location line="-9"/>
         <source>Cannot delete the key '%1'.</source>
         <translation>Ključa '%1' ni mogoče izbrisati.</translation>
     </message>
     <message>
+        <location line="-124"/>
         <source>'%1' is an invalid host-combination code-sequence.</source>
         <translation>'%1' je neveljaveno zaporedje gostitelj- kombinacijska koda.</translation>
     </message>
@@ -9057,14 +11421,17 @@
 <context>
     <name>VBoxLicenseViewer</name>
     <message>
+        <location filename="../src/VBoxLicenseViewer.cpp" line="+96"/>
         <source>VirtualBox License</source>
         <translation>Dovoljenje za VirtualBox</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>I &Agree</source>
         <translation>&Strinjam se</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>I &Disagree</source>
         <translation>&Ne strinjam se</translation>
     </message>
@@ -9072,111 +11439,149 @@
 <context>
     <name>VBoxMediaManagerDlg</name>
     <message>
+        <location filename="../src/medium/UIMediumManager.cpp" line="-47"/>
         <source>&Actions</source>
         <translation>&Dejanja</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>R&emove</source>
         <translation>&Odstrani</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Re&lease</source>
         <translation>&Sprosti</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Re&fresh</source>
         <translation>&Osveži</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>Remove the selected disk image file</source>
         <translation>Odstrani izbrano datoteko odtisa diska</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Release the selected disk image file by detaching it from the machines</source>
         <translation>Sprosti izbrano datoteko odtisa diska z njenim odklopom iz računlanikov</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Refresh the list of disk image files</source>
         <translation>Osveži seznam datotek odtisa diska</translation>
     </message>
     <message>
+        <location line="+81"/>
         <source>Checking accessibility</source>
         <translation>Preverjanje dostopnosti</translation>
     </message>
     <message>
+        <location line="-232"/>
+        <location line="+44"/>
+        <location line="+33"/>
         <source><i>Not&nbsp;Attached</i></source>
         <translation><i>Ni&nbsp;priklopljen</i></translation>
     </message>
     <message>
+        <location line="+648"/>
         <source>--</source>
         <comment>no info</comment>
         <translation>--</translation>
     </message>
     <message>
+        <location line="-609"/>
         <source>Virtual Media Manager</source>
         <translation>Upravljalnik navideznih nosilcev</translation>
     </message>
     <message>
+        <location line="+60"/>
+        <location line="+25"/>
+        <location line="+16"/>
         <source>Name</source>
         <translation>Ime</translation>
     </message>
     <message>
+        <location line="-40"/>
         <source>Virtual Size</source>
         <translation>Navidezna velikost</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Actual Size</source>
         <translation>Dejanska velikost</translation>
     </message>
     <message>
+        <location line="+24"/>
+        <location line="+16"/>
         <source>Size</source>
         <translation>Velikost</translation>
     </message>
     <message>
+        <location line="-35"/>
         <source>Type:</source>
         <translation>Vrsta:</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+22"/>
+        <location line="+16"/>
         <source>Location:</source>
         <translation>Mesto:</translation>
     </message>
     <message>
+        <location line="-36"/>
         <source>Format:</source>
         <translation>Oblika:</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Storage details:</source>
         <translation>Podrobnosti pomnilniške naprave:</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+18"/>
+        <location line="+16"/>
         <source>Attached to:</source>
         <translation>Priklopljen v:</translation>
     </message>
     <message>
+        <location line="-100"/>
         <source>&Copy...</source>
         <translation>&Kopiraj …</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&Modify...</source>
         <translation>&Spremeni …</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>Copy an existing disk image file</source>
         <translation>Kopiraj obstoječo datoteko odtisa diska</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Modify the attributes of the selected disk image file</source>
-        <translation>Spremeni atribute izbrane datoteke odtisa diska</translation>
+        <translation>Spremeni lastnosti izbrane datoteke odtisa diska</translation>
     </message>
     <message>
+        <location line="+62"/>
+        <location line="+16"/>
+        <location line="+16"/>
         <source>UUID:</source>
         <translation>UUID:</translation>
     </message>
     <message>
+        <location line="-224"/>
         <source><i>Not&nbsp;Encrypted</i></source>
         <translation><i>Ni&nbsp;šifriran</i></translation>
     </message>
     <message>
+        <location line="+190"/>
         <source>Encrypted with key:</source>
         <translation>Šifriran s ključem:</translation>
     </message>
@@ -9184,14 +11589,17 @@
 <context>
     <name>VBoxScreenshotViewer</name>
     <message>
+        <location filename="../src/VBoxSnapshotDetailsDlg.cpp" line="+203"/>
         <source>Screenshot of %1 (%2)</source>
         <translation>Posnetek stanja %1 (%2)</translation>
     </message>
     <message>
+        <location line="+36"/>
         <source>Click to view non-scaled screenshot.</source>
         <translation>Kliknite za ogled neumerjenega posnetka stanja.</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Click to view scaled screenshot.</source>
         <translation>Kliknite za ogled umerjenega posnetka stanja.</translation>
     </message>
@@ -9199,26 +11607,32 @@
 <context>
     <name>VBoxSnapshotDetailsDlg</name>
     <message>
+        <location line="-112"/>
         <source>Details of %1 (%2)</source>
         <translation>Podrobnosti %1 (%2)</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Click to enlarge the screenshot.</source>
         <translation>Kliknite za povečavo posnetka stanja.</translation>
     </message>
     <message>
+        <location filename="../src/VBoxSnapshotDetailsDlg.ui" line="+32"/>
         <source>&Name:</source>
         <translation>I&me:</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Taken:</source>
         <translation>Zajeto:</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>&Description:</source>
         <translation>&Opis:</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>D&etails:</source>
         <translation>&Podrobnosti:</translation>
     </message>
@@ -9226,106 +11640,133 @@
 <context>
     <name>VBoxSnapshotsWgt</name>
     <message>
+        <location filename="../src/selector/VBoxSnapshotsWgt.ui" line="+26"/>
         <source>VBoxSnapshotsWgt</source>
         <translation>VBoxSnapshotsWgt</translation>
     </message>
     <message>
+        <location filename="../src/selector/VBoxSnapshotsWgt.cpp" line="+179"/>
         <source>Current State (changed)</source>
         <comment>Current State (Modified)</comment>
         <translation>Trenutno stanje (spremenjeno)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Current State</source>
         <comment>Current State (Unmodified)</comment>
         <translation>Trenutno stanje</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>The current state differs from the state stored in the current snapshot</source>
         <translation>Trenutno stanje se razlikuje od stanja shranjenega v trenutnem posnetku</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>The current state is identical to the state stored in the current snapshot</source>
         <translation>Trenutno stanje je enko stanju shranjenemu v trenutnem posnetku</translation>
     </message>
     <message>
+        <location line="+108"/>
         <source> (current, </source>
         <comment>Snapshot details</comment>
         <translation> (trenutno, </translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>online)</source>
         <comment>Snapshot details</comment>
         <translation>s povezavo)</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>offline)</source>
         <comment>Snapshot details</comment>
         <translation>brez povezave)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Taken at %1</source>
         <comment>Snapshot (time)</comment>
         <translation>Zajeto ob %1</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Taken on %1</source>
         <comment>Snapshot (date + time)</comment>
         <translation>Zajeto %1</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>%1 since %2</source>
         <comment>Current State (time or date + time)</comment>
         <translation>%1 od %2</translation>
     </message>
     <message>
+        <location line="+562"/>
         <source>Snapshot %1</source>
         <translation>Posnetek stanja %1</translation>
     </message>
     <message>
+        <location line="-370"/>
         <source>Take &Snapshot</source>
         <translation>&Zajemi posnetek stanja</translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>S&how Details</source>
         <translation>&Prikaži podrobnosti</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Take a snapshot of the current virtual machine state</source>
         <translation>Zajemi posnetek stanja trenutnega navideznega računalnika</translation>
     </message>
     <message>
+        <location line="-271"/>
         <source> (%1)</source>
         <translation> (%1)</translation>
     </message>
     <message>
+        <location line="+262"/>
         <source>&Restore Snapshot</source>
         <translation>&Obnovi posnetek stanja</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&Delete Snapshot</source>
         <translation>&Izbriši posnetek stanja</translation>
     </message>
     <message>
+        <location line="-258"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
         <source> (%1 ago)</source>
         <translation> (pred %1)</translation>
     </message>
     <message>
+        <location line="+246"/>
         <source>&Clone...</source>
         <translation>&Kloniraj …</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Restore selected snapshot of the virtual machine</source>
         <translation>Obnovi izbran posnetek stanja navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Delete selected snapshot of the virtual machine</source>
         <translation>Izbriši izban posnetek stanja navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Display a window with selected snapshot details</source>
         <translation>Prikaži okno z izbranimi podrobnostmi posnetka stanja</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Clone selected virtual machine</source>
         <translation>Kloniraj izbran navidezni računalnik</translation>
     </message>
@@ -9333,18 +11774,22 @@
 <context>
     <name>VBoxTakeSnapshotDlg</name>
     <message>
+        <location filename="../src/VBoxTakeSnapshotDlg.ui" line="+26"/>
         <source>Take Snapshot of Virtual Machine</source>
         <translation>Zajemi ponetek stanja navideznega računalnika</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>Snapshot &Name</source>
         <translation>I&me posnetka stanja</translation>
     </message>
     <message>
+        <location line="+20"/>
         <source>Snapshot &Description</source>
         <translation>&Opis posnetka stanja</translation>
     </message>
     <message numerus="yes">
+        <location filename="../src/VBoxTakeSnapshotDlg.cpp" line="+72"/>
         <source>Warning: You are taking a snapshot of a running machine which has %n immutable image(s) attached to it. As long as you are working from this snapshot the immutable image(s) will not be reset to avoid loss of data.</source>
         <translation>
             <numerusform>Opozorilo: zajemate posnetek stanja računalnika v izvajanju, ki ima nase priklopljen %n nespremenljiv odtis. Dokler delate iz tega posnetka stanja, nespremenljivi odtisi ne bodo ponastavljeni, da se prepreči izguba podatkov.</numerusform>
@@ -9354,6 +11799,7 @@
         </translation>
     </message>
     <message>
+        <location filename="../src/runtime/UIMachineLogic.cpp" line="-250"/>
         <source>Snapshot %1</source>
         <translation>Posnetek stanja %1</translation>
     </message>
@@ -9361,11 +11807,13 @@
 <context>
     <name>VBoxUSBMenu</name>
     <message>
+        <location filename="../src/settings/machine/UIMachineSettingsUSB.cpp" line="-495"/>
         <source><no devices available></source>
         <comment>USB devices</comment>
         <translation><na voljo ni nobena naprava></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>No supported devices connected to the host PC</source>
         <comment>USB device tooltip</comment>
         <translation>Ni povezanih podprtih naprav z gostiteljskim računalnikom</translation>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
index 766dbf4..19e70d5 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
@@ -9930,6 +9930,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Избриши</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
index c75ba9e..34e91c7 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
@@ -10969,6 +10969,19 @@ serial ports</comment>
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Ta bort</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
index 57cdd5c..145311b 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
@@ -9892,6 +9892,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>VirtualBox COM nesnesini alma başarısız.</p><p>Uygulama şimdi sonlandırılacak.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Sil</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
index c1349d9..d39fc8e 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
@@ -10152,6 +10152,19 @@ p, li { white-space: pre-wrap; }
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">Вилучити</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
index 43e4b94..3cc18a7 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
@@ -5850,6 +5850,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
index fe8c690..f2befd3 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
@@ -9394,6 +9394,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>获取 VirtualBox COM 对象失败.</p><p>应用程序将被中断.</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetUserManual</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
index 9f8bd38..0d30b11 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
@@ -5850,6 +5850,19 @@
         <source><p>Failed to acquire the VirtualBox COM object.</p><p>The application will now terminate.</p></source>
         <translation><p>獲取 VirtualBox COM 物件失敗。</p><p>應用程式現在將終止。</p></translation>
     </message>
+    <message>
+        <source>Delete</source>
+        <comment>extension pack</comment>
+        <translation type="unfinished">刪除</translation>
+    </message>
+    <message>
+        <source>Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Do you want to delete following list of files <nobr><b>%1</b></nobr>?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
index 4802987..14aed8e 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
@@ -163,25 +163,28 @@ void UIExtraDataEventHandler::prepareListener()
     m_comEventListener = CEventListener(m_pQtListener);
 
     /* Get VirtualBox: */
-    const CVirtualBox vbox = vboxGlobal().virtualBox();
-    AssertWrapperOk(vbox);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBox);
-    /* Register listener for expected event-types: */
-    QVector<KVBoxEventType> vboxEvents;
-    vboxEvents
+    const CVirtualBox comVBox = vboxGlobal().virtualBox();
+    AssertWrapperOk(comVBox);
+    /* Get VirtualBox event source: */
+    CEventSource comEventSourceVBox = comVBox.GetEventSource();
+    AssertWrapperOk(comEventSourceVBox);
+
+    /* Enumerate all the required event-types: */
+    QVector<KVBoxEventType> eventTypes;
+    eventTypes
         << KVBoxEventType_OnExtraDataCanChange
         << KVBoxEventType_OnExtraDataChanged;
-    eventSourceVirtualBox.RegisterListener(m_comEventListener, vboxEvents,
+
+    /* Register event listener for VirtualBox event source: */
+    comEventSourceVBox.RegisterListener(m_comEventListener, eventTypes,
         gEDataManager->eventHandlingType() == EventHandlingType_Active ? TRUE : FALSE);
-    AssertWrapperOk(eventSourceVirtualBox);
+    AssertWrapperOk(comEventSourceVBox);
 
     /* If event listener registered as passive one: */
     if (gEDataManager->eventHandlingType() == EventHandlingType_Passive)
     {
         /* Register event sources in their listeners as well: */
-        m_pQtListener->getWrapped()->registerSource(eventSourceVirtualBox, m_comEventListener);
+        m_pQtListener->getWrapped()->registerSource(comEventSourceVBox, m_comEventListener);
     }
 }
 
@@ -214,14 +217,15 @@ void UIExtraDataEventHandler::cleanupListener()
     if (!vboxGlobal().isVBoxSVCAvailable())
         return;
 
-    /* Unregister Main event-listener: */
-    const CVirtualBox vbox = vboxGlobal().virtualBox();
-    AssertWrapperOk(vbox);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBox);
-    /* Unregister listener: */
-    eventSourceVirtualBox.UnregisterListener(m_comEventListener);
+    /* Get VirtualBox: */
+    const CVirtualBox comVBox = vboxGlobal().virtualBox();
+    AssertWrapperOk(comVBox);
+    /* Get VirtualBox event source: */
+    CEventSource comEventSourceVBox = comVBox.GetEventSource();
+    AssertWrapperOk(comEventSourceVBox);
+
+    /* Unregister event listener for VirtualBox event source: */
+    comEventSourceVBox.UnregisterListener(m_comEventListener);
 }
 
 void UIExtraDataEventHandler::cleanup()
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
index 43ba025..5dc64ca 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
@@ -2248,6 +2248,24 @@ bool UIMessageCenter::proposeInstallExtentionPack(const QString &strExtPackName,
                           0 /* auto-confirm id */,
                           tr("Install", "extension pack"));
 }
+
+bool UIMessageCenter::proposeDeleteExtentionPack(const QString &strTo) const
+{
+    return questionBinary(windowManager().networkManagerOrMainWindowShown(), MessageType_Question,
+                          tr("Do you want to delete the downloaded file <nobr><b>%1</b></nobr>?")
+                             .arg(strTo),
+                          0 /* auto-confirm id */,
+                          tr("Delete", "extension pack"));
+}
+
+bool UIMessageCenter::proposeDeleteOldExtentionPacks(const QStringList &strFiles) const
+{
+    return questionBinary(windowManager().networkManagerOrMainWindowShown(), MessageType_Question,
+                          tr("Do you want to delete following list of files <nobr><b>%1</b></nobr>?")
+                             .arg(strFiles.join(",")),
+                          0 /* auto-confirm id */,
+                          tr("Delete", "extension pack"));
+}
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
 
 bool UIMessageCenter::confirmInstallExtensionPack(const QString &strPackName, const QString &strPackVersion,
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
index 6074bd4..2ee014d 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
@@ -337,6 +337,8 @@ public:
     bool confirmDownloadExtensionPack(const QString &strExtPackName, const QString &strURL, qulonglong uSize) const;
     void cannotSaveExtensionPack(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const;
     bool proposeInstallExtentionPack(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const;
+    bool proposeDeleteExtentionPack(const QString &strTo) const;
+    bool proposeDeleteOldExtentionPacks(const QStringList &strFiles) const;
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
 
     /* API: Extension-pack warnings: */
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp b/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
index ab69bdb..4dfc659 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
@@ -4255,9 +4255,9 @@ void VBoxGlobal::prepare()
                               _1M,
                               szError,
                               sizeof(szError));
-    }
 
-    LogRel(("Qt version: %s\n", qtRTVersionString().toUtf8().constData()));
+        LogRel(("Qt version: %s\n", qtRTVersionString().toUtf8().constData()));
+    }
 
     if (mSettingsPwSet)
         m_vbox.SetSettingsSecret(mSettingsPw);
diff --git a/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp b/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
index d099281..755faf0 100644
--- a/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
@@ -417,6 +417,27 @@ private slots:
         /* Warn the user about extension pack was downloaded and saved, propose to install it: */
         if (msgCenter().proposeInstallExtentionPack(GUI_ExtPackName, strSource, QDir::toNativeSeparators(strTarget)))
             UIGlobalSettingsExtension::doInstallation(strTarget, strDigest, windowManager().networkManagerOrMainWindowShown(), NULL);
+        /* Propose to delete the downloaded extension pack: */
+        if (msgCenter().proposeDeleteExtentionPack(QDir::toNativeSeparators(strTarget)))
+        {
+            /* Delete the downloaded extension pack: */
+            QFile::remove(QDir::toNativeSeparators(strTarget));
+            /* Get the list of old extension pack files in VirtualBox homefolder: */
+            const QStringList oldExtPackFiles = QDir(vboxGlobal().homeFolder()).entryList(QStringList("*.vbox-extpack"),
+                                                                                          QDir::Files);
+            /* Propose to delete old extension pack files if there are any: */
+            if (oldExtPackFiles.size())
+            {
+                if (msgCenter().proposeDeleteOldExtentionPacks(oldExtPackFiles))
+                {
+                    foreach (const QString &strExtPackFile, oldExtPackFiles)
+                    {
+                        /* Delete the old extension pack file: */
+                        QFile::remove(QDir::toNativeSeparators(QDir(vboxGlobal().homeFolder()).filePath(strExtPackFile)));
+                    }
+                }
+            }
+        }
     }
 };
 
diff --git a/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.h b/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.h
index bdf425f..2ad5ae3 100644
--- a/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.h
+++ b/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.h
@@ -35,6 +35,7 @@ unsigned long darwinEventModifierFlags(ConstNativeNSEventRef pEvent);
 uint32_t darwinEventModifierFlagsXlated(ConstNativeNSEventRef pEvent);
 const char *darwinEventTypeName(unsigned long eEvtType);
 void darwinPrintEvent(const char *pszPrefix, ConstNativeNSEventRef pEvent);
+void darwinPostStrippedMouseEvent(ConstNativeNSEventRef pEvent);
 
 RT_C_DECLS_END
 
diff --git a/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.mm b/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.mm
index 0720cd2..63d6fd4 100644
--- a/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.mm
+++ b/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.mm
@@ -20,6 +20,7 @@
 #include "DarwinKeyboard.h"
 
 /* Global includes */
+#import <Cocoa/Cocoa.h>
 #import <AppKit/NSEvent.h>
 #include <Carbon/Carbon.h>
 
@@ -292,3 +293,18 @@ void darwinPrintEvent(const char *pszPrefix, ConstNativeNSEventRef pEvent)
     }
 }
 
+void darwinPostStrippedMouseEvent(ConstNativeNSEventRef pEvent)
+{
+    /* Create and post new stripped event: */
+    NSEvent *pNewEvent = [NSEvent mouseEventWithType:[pEvent type]
+                                            location:[pEvent locationInWindow]
+                                       modifierFlags:0
+                                           timestamp:[pEvent timestamp] // [NSDate timeIntervalSinceReferenceDate] ?
+                                        windowNumber:[pEvent windowNumber]
+                                             context:[pEvent context]
+                                         eventNumber:[pEvent eventNumber]
+                                          clickCount:[pEvent clickCount]
+                                            pressure:[pEvent pressure]];
+    [NSApp postEvent:pNewEvent atStart:YES];
+}
+
diff --git a/src/VBox/Frontends/VirtualBox/src/platform/darwin/vmstarter.mm b/src/VBox/Frontends/VirtualBox/src/platform/darwin/vmstarter.mm
index 4d8f219..ea63171 100644
--- a/src/VBox/Frontends/VirtualBox/src/platform/darwin/vmstarter.mm
+++ b/src/VBox/Frontends/VirtualBox/src/platform/darwin/vmstarter.mm
@@ -55,9 +55,9 @@ NSString *m_strVBoxPath;
        event. If not we start a new process with the file as parameter. */
     NSArray *pApps = [pWS runningApplications];
     bool fVBoxRuns = false;
-    for (NSDictionary *pDict in pApps)
+    for (NSRunningApplication *pApp in pApps)
     {
-        if ([[pDict valueForKey:@"NSApplicationBundleIdentifier"] isEqualToString:@"org.virtualbox.app.VirtualBox"])
+        if ([pApp.bundleIdentifier isEqualToString:@"org.virtualbox.app.VirtualBox"])
         {
             fVBoxRuns = true;
             break;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIConsoleEventHandler.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIConsoleEventHandler.cpp
index 832648b..be219d6 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIConsoleEventHandler.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIConsoleEventHandler.cpp
@@ -160,20 +160,21 @@ void UIConsoleEventHandlerProxy::prepareListener()
     /* Make sure session is passed: */
     AssertPtrReturnVoid(m_pSession);
 
-    /* Create Main event listener instance: */
+    /* Create event listener instance: */
     m_pQtListener.createObject();
     m_pQtListener->init(new UIMainEventListener, this);
     m_comEventListener = CEventListener(m_pQtListener);
 
     /* Get console: */
-    const CConsole console = m_pSession->session().GetConsole();
-    AssertReturnVoid(!console.isNull() && console.isOk());
-    /* Get event-source: */
-    CEventSource eventSource = console.GetEventSource();
-    AssertReturnVoid(!eventSource.isNull() && eventSource.isOk());
-    /* Register listener for expected event-types: */
-    QVector<KVBoxEventType> events;
-    events
+    const CConsole comConsole = m_pSession->session().GetConsole();
+    AssertReturnVoid(!comConsole.isNull() && comConsole.isOk());
+    /* Get console event source: */
+    CEventSource comEventSourceConsole = comConsole.GetEventSource();
+    AssertReturnVoid(!comEventSourceConsole.isNull() && comEventSourceConsole.isOk());
+
+    /* Enumerate all the required event-types: */
+    QVector<KVBoxEventType> eventTypes;
+    eventTypes
         << KVBoxEventType_OnMousePointerShapeChanged
         << KVBoxEventType_OnMouseCapabilityChanged
         << KVBoxEventType_OnKeyboardLedsChanged
@@ -193,15 +194,17 @@ void UIConsoleEventHandlerProxy::prepareListener()
         << KVBoxEventType_OnRuntimeError
         << KVBoxEventType_OnCanShowWindow
         << KVBoxEventType_OnShowWindow;
-    eventSource.RegisterListener(m_comEventListener, events,
+
+    /* Register event listener for console event source: */
+    comEventSourceConsole.RegisterListener(m_comEventListener, eventTypes,
         gEDataManager->eventHandlingType() == EventHandlingType_Active ? TRUE : FALSE);
-    AssertWrapperOk(eventSource);
+    AssertWrapperOk(comEventSourceConsole);
 
     /* If event listener registered as passive one: */
     if (gEDataManager->eventHandlingType() == EventHandlingType_Passive)
     {
         /* Register event sources in their listeners as well: */
-        m_pQtListener->getWrapped()->registerSource(eventSource, m_comEventListener);
+        m_pQtListener->getWrapped()->registerSource(comEventSourceConsole, m_comEventListener);
     }
 }
 
@@ -282,14 +285,15 @@ void UIConsoleEventHandlerProxy::cleanupListener()
     }
 
     /* Get console: */
-    const CConsole console = m_pSession->session().GetConsole();
-    if (console.isNull() || !console.isOk())
+    const CConsole comConsole = m_pSession->session().GetConsole();
+    if (comConsole.isNull() || !comConsole.isOk())
         return;
-    /* Get event-source: */
-    CEventSource eventSource = console.GetEventSource();
-    AssertWrapperOk(eventSource);
-    /* Unregister listener: */
-    eventSource.UnregisterListener(m_comEventListener);
+    /* Get console event source: */
+    CEventSource comEventSourceConsole = comConsole.GetEventSource();
+    AssertWrapperOk(comEventSourceConsole);
+
+    /* Unregister event listener for console event source: */
+    comEventSourceConsole.UnregisterListener(m_comEventListener);
 }
 
 void UIConsoleEventHandlerProxy::cleanup()
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
index b736a9c..24c4b41 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
@@ -15,6 +15,21 @@
  * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
  */
 
+/*
+ * Things worth testing when changing this code:
+ * - That automatic keyboard capture works.
+ * - That the keyboard is captured when the mouse is.
+ * - That the host key releases the keyboard when
+ *   the keyboard is captured but the mouse not, and both when both are.
+ * - That the host key captures both keyboard and mouse.
+ * - That the keyboard is captured when the mouse capture notification is
+ *   displayed.
+ * - That keyboard capture works on X11 hosts when windows are dragged with
+ *   various window managers.
+ * - That multiple machine windows do not fight for the focus on X11 hosts
+ *   (noticeable through strange modifier key and capitals behaviour).
+ */
+
 #ifdef VBOX_WITH_PRECOMPILED_HEADERS
 # include <precomp.h>
 #else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
@@ -23,7 +38,10 @@
 # include <QKeyEvent>
 # ifdef VBOX_WS_X11
 #  include <QX11Info>
-# endif /* VBOX_WS_X11 */
+# endif
+# if QT_VERSION >= 0x050000
+#   include <QTimer>
+# endif
 
 /* GUI includes: */
 # include "VBoxGlobal.h"
@@ -58,11 +76,6 @@
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
-/* Qt includes: */
-#if QT_VERSION >= 0x050000
-# include <QAbstractNativeEventFilter>
-#endif /* QT_VERSION >= 0x050000 */
-
 /* GUI includes: */
 #ifdef VBOX_WS_MAC
 # include "DarwinKeyboard.h"
@@ -101,34 +114,6 @@ enum { KeyExtended = 0x01, KeyPressed = 0x02, KeyPause = 0x04, KeyPrint = 0x08 }
 enum { IsKeyPressed = 0x01, IsExtKeyPressed = 0x02, IsKbdCaptured = 0x80 };
 
 
-#if QT_VERSION >= 0x050000
-/** QAbstractNativeEventFilter extension
-  * allowing to pre-process native platform events. */
-class KeyboardHandlerEventFilter : public QAbstractNativeEventFilter
-{
-public:
-
-    /** Constructor which takes the passed @a pParent to redirect events to. */
-    KeyboardHandlerEventFilter(UIKeyboardHandler *pParent)
-        : m_pParent(pParent)
-    {}
-
-    /** Handles all native events. */
-    bool nativeEventFilter(const QByteArray &eventType, void *pMessage, long *pResult)
-    {
-        /* Redirect event to parent: */
-        Q_UNUSED(pResult);
-        return m_pParent->nativeEventPreprocessor(eventType, pMessage);
-    }
-
-private:
-
-    /** Holds the passed parent reference. */
-    UIKeyboardHandler *m_pParent;
-};
-#endif /* QT_VERSION >= 0x050000 */
-
-
 #ifdef VBOX_WS_WIN
 UIKeyboardHandler* UIKeyboardHandler::m_spKeyboardHandler = 0;
 #endif /* VBOX_WS_WIN */
@@ -266,62 +251,68 @@ void UIKeyboardHandler::captureKeyboard(ulong uScreenId)
 {
     /* Do NOT capture the keyboard if it is already captured: */
     if (m_fIsKeyboardCaptured)
-        return;
-
-#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
-    /* Due to X11 async nature we may have lost the focus already by the time we get the focus
-     * notification, so we do a sanity check that we still have it. If we don't have the focus
-     * and grab the keyboard now that will cause focus change which we want to avoid. This change
-     * potentially leads to a loop where two windows are continually responding to outdated focus events. */
-    const xcb_get_input_focus_cookie_t xcbFocusCookie = xcb_get_input_focus(QX11Info::connection());
-    xcb_get_input_focus_reply_t *pFocusReply = xcb_get_input_focus_reply(QX11Info::connection(), xcbFocusCookie, NULL);
-    WId actualWinId = 0;
-    if (pFocusReply)
     {
-        actualWinId = pFocusReply->focus;
-        free(pFocusReply);
-    }
-    else
-        LogRel(("GUI: UIKeyboardHandler::captureKeyboard: XCB error on acquiring focus information detected!\n"));
-    if (m_windows.value(uScreenId)->winId() != actualWinId)
+        /* Make sure the right screen had captured the keyboard: */
+        Assert((int)uScreenId == m_iKeyboardCaptureViewIndex);
         return;
+    }
 
-    /* Delay capturing the keyboard if the mouse button is held down and the mouse is not
-     * captured to work around window managers which transfer the focus when the user
-     * clicks in the title bar and then try to grab the keyboard and sulk if they fail.
-     * If the click is inside of our views we will do the capture when it is released. */
-    const xcb_query_pointer_cookie_t xcbPointerCookie = xcb_query_pointer(QX11Info::connection(), QX11Info::appRootWindow());
-    xcb_query_pointer_reply_t *pPointerReply = xcb_query_pointer_reply(QX11Info::connection(), xcbPointerCookie, NULL);
-    if (!uisession()->isMouseCaptured() && pPointerReply && (pPointerReply->mask & XCB_KEY_BUT_MASK_BUTTON_1))
+    /* If the view exists: */
+    if (m_views.contains(uScreenId))
     {
-        free(pPointerReply);
-        return;
+        /* Remember which screen wishes to capture the keyboard: */
+        m_iKeyboardCaptureViewIndex = uScreenId;
+
+#if QT_VERSION < 0x050000
+        /* Finalise keyboard capture: */
+        finaliseCaptureKeyboard();
+#else
+        /* On X11, we do not grab the keyboard as soon as it is captured, but delay it
+         * for 300 milliseconds after the formal capture. We do this for several reasons:
+         * - First, when several windows are created they all try to capture the keyboard when
+         *   they get the focus. Due to the asynchronous nature of X11 the first window may only
+         *   gets notified after the last is created, and there is a dance if they respond to
+         *   the notifications by grabbing the keyboard and trigger new focus changes in the process.
+         * - Second, grabbing the keyboard immediately on focus change upsets some window managers,
+         *   they give us the focus then try to grab the keyboard themselves, and sulk if they fail
+         *   by refusing to e.g. drag a window using its title bar.
+         *
+         * IMPORTANT! We do the same under all other hosts as well mainly to have the
+         *            common behavior everywhere while X11 is forced to behave that way. */
+        QTimer::singleShot(300, this, SLOT(sltFinaliseCaptureKeyboard()));
+#endif
     }
-    free(pPointerReply);
-#endif /* VBOX_WS_X11 && QT_VERSION >= 0x050000 */
+}
 
-    /* If such view exists: */
-    if (m_views.contains(uScreenId))
+bool UIKeyboardHandler::finaliseCaptureKeyboard()
+{
+    /* Do NOT capture the keyboard if it is already captured: */
+    if (m_fIsKeyboardCaptured)
+        return true;
+
+    /* Make sure capture was really requested: */
+    if (m_iKeyboardCaptureViewIndex == -1)
+        return true;
+
+    /* If the view exists: */
+    if (m_views.contains(m_iKeyboardCaptureViewIndex))
     {
 #if defined(VBOX_WS_MAC)
 
-        /* On Mac, keyboard grabbing is ineffective,
-         * a low-level keyboard-hook is used instead.
+        /* On Mac, keyboard grabbing is ineffective, a low-level keyboard-hook is used instead.
          * It is being installed on focus-in event and uninstalled on focus-out.
          * S.a. UIKeyboardHandler::eventFilter for more information. */
 
-        /* On Mac, we also
-         * use the Qt method to grab the keyboard,
-         * disable global hot keys and
-         * enable watching modifiers (for right/left separation). */
+        /* Besides that, we are not just using the Qt stuff to grab the keyboard,
+         * we also disable global hot keys and enable watching
+         * modifiers (for right/left separation). */
         /// @todo Is that really needed?
         ::DarwinDisableGlobalHotKeys(true);
-        m_views[uScreenId]->grabKeyboard();
+        m_views[m_iKeyboardCaptureViewIndex]->grabKeyboard();
 
 #elif defined(VBOX_WS_WIN)
 
-        /* On Win, keyboard grabbing is ineffective,
-         * a low-level keyboard-hook is used instead.
+        /* On Win, keyboard grabbing is ineffective, a low-level keyboard-hook is used instead.
          * It is being installed on focus-in event and uninstalled on focus-out.
          * S.a. UIKeyboardHandler::eventFilter for more information. */
 
@@ -329,17 +320,18 @@ void UIKeyboardHandler::captureKeyboard(ulong uScreenId)
 # if QT_VERSION < 0x050000
 
         /* On X11, we are using passive XGrabKey for normal (windowed) mode
-         * instead of XGrabKeyboard (called by QWidget::grabKeyboard())
-         * because XGrabKeyboard causes a problem under metacity - a window cannot be moved
+         * instead of XGrabKeyboard (called by QWidget::grabKeyboard()) because
+         * XGrabKeyboard causes a problem under metacity - a window cannot be moved
          * using the mouse if it is currently actively grabbing the keyboard;
          * For static modes we are using usual (active) keyboard grabbing. */
+
         switch (machineLogic()->visualStateType())
         {
             /* If window is moveable we are making passive keyboard grab: */
             case UIVisualStateType_Normal:
             case UIVisualStateType_Scale:
             {
-                XGrabKey(QX11Info::display(), AnyKey, AnyModifier, m_windows[uScreenId]->winId(), False, GrabModeAsync, GrabModeAsync);
+                XGrabKey(QX11Info::display(), AnyKey, AnyModifier, m_windows[m_iKeyboardCaptureViewIndex]->winId(), False, GrabModeAsync, GrabModeAsync);
                 break;
             }
             /* If window is NOT moveable we are making active keyboard grab: */
@@ -355,7 +347,7 @@ void UIKeyboardHandler::captureKeyboard(ulong uScreenId)
                 /* Only do our keyboard grab if there are no other focus events
                  * for this window on the queue.  This can prevent problems
                  * including two windows fighting to grab the keyboard. */
-                hWindow = m_windows[uScreenId]->winId();
+                hWindow = m_windows[m_iKeyboardCaptureViewIndex]->winId();
                 if (!checkForX11FocusEvents(hWindow))
                     while (cTriesLeft && XGrabKeyboard(QX11Info::display(),
                            hWindow, False, GrabModeAsync, GrabModeAsync,
@@ -372,84 +364,81 @@ void UIKeyboardHandler::captureKeyboard(ulong uScreenId)
 
         /* On X11, we are using XCB stuff to grab the keyboard.
          * This stuff is a part of the active keyboard grabbing functionality.
-         * Active keyboard grabbing causes a problems on certain old window managers - a window cannot
-         * be moved using the mouse. So we additionally grabbing the mouse as well to detect that user
-         * is trying to click outside of internal window geometry. */
-
-        /* Grab the mouse button (if mouse is not captured),
-         * We do not check for failure as we do not currently implement a back-up plan. */
-        if (!uisession()->isMouseCaptured())
-            xcb_grab_button_checked(QX11Info::connection(), 0, QX11Info::appRootWindow(),
-                                    XCB_EVENT_MASK_BUTTON_PRESS, XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC,
-                                    XCB_NONE, XCB_NONE, XCB_BUTTON_INDEX_1, XCB_MOD_MASK_ANY);
+         * Active keyboard grabbing causes a problems on many window managers - a window cannot
+         * be moved using the mouse. So we additionally grabbing the mouse as well to detect that
+         * user is trying to click outside of internal window geometry. */
+
+         /* Grab the mouse button if the cursor is outside of our views.
+          * We do not check for failure as we do not currently implement a back-up plan. */
+         if (!isItListenedView(QApplication::widgetAt(QCursor::pos())))
+             xcb_grab_button_checked(QX11Info::connection(), 0, QX11Info::appRootWindow(),
+                                     XCB_EVENT_MASK_BUTTON_PRESS, XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC,
+                                     XCB_NONE, XCB_NONE, XCB_BUTTON_INDEX_1, XCB_MOD_MASK_ANY);
         /* And grab the keyboard, using XCB directly, as Qt does not report failure. */
-        xcb_grab_keyboard_cookie_t xcbGrabCookie = xcb_grab_keyboard(QX11Info::connection(), false, m_views[uScreenId]->winId(),
+        xcb_grab_keyboard_cookie_t xcbGrabCookie = xcb_grab_keyboard(QX11Info::connection(), false, m_views[m_iKeyboardCaptureViewIndex]->winId(),
                                                                      XCB_TIME_CURRENT_TIME, XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC);
         xcb_grab_keyboard_reply_t *pGrabReply = xcb_grab_keyboard_reply(QX11Info::connection(), xcbGrabCookie, NULL);
         if (pGrabReply == NULL || pGrabReply->status != XCB_GRAB_STATUS_SUCCESS)
         {
+            /* Release the mouse button grab.
+             * We do not check for failure as we do not currently implement a back-up plan. */
+            xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_1,
+                                      QX11Info::appRootWindow(), XCB_MOD_MASK_ANY);
             /* Try again later: */
-            m_idxDelayedKeyboardCaptureView = uScreenId;
             free(pGrabReply);
-            return;
+            return false;
         }
         free(pGrabReply);
 
-        /* Successfully captured, stop delayed capture attempts: */
-        m_idxDelayedKeyboardCaptureView = -1;
-
 # endif /* QT_VERSION >= 0x050000 */
 #else
 
         /* On other platforms we are just praying Qt method to work: */
-        m_views[uScreenId]->grabKeyboard();
+        m_views[m_iKeyboardCaptureViewIndex]->grabKeyboard();
 
 #endif
 
-        /* Remember which screen had captured keyboard: */
-        m_iKeyboardCaptureViewIndex = uScreenId;
-
         /* Store new keyboard-captured state value: */
         m_fIsKeyboardCaptured = true;
 
         /* Notify all the listeners: */
         emit sigStateChange(state());
+
+        return true;
     }
+
+    return false;
 }
 
 void UIKeyboardHandler::releaseKeyboard()
 {
-#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
-    /* If we haven't captured the keyboard by now it is too late: */
-    m_idxDelayedKeyboardCaptureView = -1;
-#endif /* VBOX_WS_X11 && QT_VERSION >= 0x050000 */
-
     /* Do NOT release the keyboard if it is already released: */
     if (!m_fIsKeyboardCaptured)
+    {
+        /* If a delayed capture is scheduled then cancel it: */
+        m_iKeyboardCaptureViewIndex = -1;
         return;
+    }
 
-    /* If such view exists: */
+    /* If the view exists: */
     if (m_views.contains(m_iKeyboardCaptureViewIndex))
     {
 #if defined(VBOX_WS_MAC)
 
-        /* On Mac, keyboard grabbing is ineffective,
-         * a low-level keyboard-hook is used instead.
+        /* On Mac, keyboard grabbing is ineffective, a low-level keyboard-hook is used instead.
          * It is being installed on focus-in event and uninstalled on focus-out.
          * S.a. UIKeyboardHandler::eventFilter for more information. */
 
-        /* On Mac, we also
-         * use the Qt method to release the keyboard,
-         * enable global hot keys and
-         * disable watching modifiers (for right/left separation). */
+        /* Besides that, we are not just using the Qt stuff to ungrab the keyboard,
+         * we also enable global hot keys and disable watching
+         * modifiers (for right/left separation). */
         /// @todo Is that really needed?
         ::DarwinDisableGlobalHotKeys(false);
         m_views[m_iKeyboardCaptureViewIndex]->releaseKeyboard();
 
 #elif defined(VBOX_WS_WIN)
 
-        /* On Win, keyboard grabbing is ineffective,
-         * a low-level keyboard-hook is used instead.
+        /* On Win, keyboard grabbing is ineffective, a low-level keyboard-hook is used instead.
          * It is being installed on focus-in event and uninstalled on focus-out.
          * S.a. UIKeyboardHandler::eventFilter for more information. */
 
@@ -457,10 +446,11 @@ void UIKeyboardHandler::releaseKeyboard()
 # if QT_VERSION < 0x050000
 
         /* On X11, we are using passive XGrabKey for normal (windowed) mode
-         * instead of XGrabKeyboard (called by QWidget::grabKeyboard())
-         * because XGrabKeyboard causes a problem under metacity - a window cannot be moved
+         * instead of XGrabKeyboard (called by QWidget::grabKeyboard()) because
+         * XGrabKeyboard causes a problem under metacity - a window cannot be moved
          * using the mouse if it is currently actively grabbing the keyboard;
          * For static modes we are using usual (active) keyboard grabbing. */
+
         switch (machineLogic()->visualStateType())
         {
             /* If window is moveable we are making passive keyboard ungrab: */
@@ -486,15 +476,16 @@ void UIKeyboardHandler::releaseKeyboard()
 
         /* On X11, we are using XCB stuff to grab the keyboard.
          * This stuff is a part of the active keyboard grabbing functionality.
-         * Active keyboard grabbing causes a problems on certain old window managers - a window cannot
-         * be moved using the mouse. So we finally releasing additionally grabbed mouse as well to
-         * allow further user interactions. */
+         * Active keyboard grabbing causes a problems on many window managers - a window cannot
+         * be moved using the mouse. So we finally releasing additionally grabbed mouse as well
+         * to allow further user interactions. */
 
         /* Ungrab using XCB: */
         xcb_ungrab_keyboard(QX11Info::connection(), XCB_TIME_CURRENT_TIME);
-        /* And release the mouse button,
+        /* Release the mouse button grab.
          * We do not check for failure as we do not currently implement a back-up plan. */
-        xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_1, QX11Info::appRootWindow(), XCB_MOD_MASK_ANY);
+        xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_1,
+                                  QX11Info::appRootWindow(), XCB_MOD_MASK_ANY);
 
 # endif /* QT_VERSION >= 0x050000 */
 #else
@@ -504,7 +495,7 @@ void UIKeyboardHandler::releaseKeyboard()
 
 #endif
 
-        /* Forget which screen had captured keyboard: */
+        /* Forget which screen had captured the keyboard: */
         m_iKeyboardCaptureViewIndex = -1;
 
         /* Store new keyboard-captured state value: */
@@ -625,7 +616,7 @@ bool UIKeyboardHandler::macEventFilter(const void *pvCocoaEvent, EventRef event,
 
     /* Depending on event kind: */
     const UInt32 uEventKind = ::GetEventKind(event);
-    switch(uEventKind)
+    switch (uEventKind)
     {
         /* Watch for simple key-events: */
         case kEventRawKeyDown:
@@ -1059,14 +1050,12 @@ bool UIKeyboardHandler::x11EventFilter(XEvent *pEvent, ulong uScreenId)
 # endif /* VBOX_WS_X11 */
 #else /* QT_VERSION >= 0x050000 */
 
-bool UIKeyboardHandler::nativeEventPreprocessor(const QByteArray &eventType, void *pMessage)
+bool UIKeyboardHandler::nativeEventFilter(void *pMessage, ulong uScreenId)
 {
-    /* Redirect event to machine-view: */
-    return m_views.contains(m_iKeyboardHookViewIndex) ? m_views.value(m_iKeyboardHookViewIndex)->nativeEventPreprocessor(eventType, pMessage) : false;
-}
+    /* Make sure view with passed index exists: */
+    if (!m_views.contains(uScreenId))
+        return false;
 
-bool UIKeyboardHandler::nativeEventPostprocessor(void *pMessage, ulong uScreenId)
-{
     /* Check if some system event should be filtered out.
      * Returning @c true means filtering-out,
      * Returning @c false means passing event to Qt. */
@@ -1079,7 +1068,7 @@ bool UIKeyboardHandler::nativeEventPostprocessor(void *pMessage, ulong uScreenId
 
     /* Depending on event kind: */
     const UInt32 uEventKind = ::GetEventKind(event);
-    switch(uEventKind)
+    switch (uEventKind)
     {
         /* Watch for simple key-events: */
         case kEventRawKeyDown:
@@ -1376,11 +1365,6 @@ bool UIKeyboardHandler::nativeEventPostprocessor(void *pMessage, ulong uScreenId
         case XCB_KEY_PRESS:
         case XCB_KEY_RELEASE:
         {
-            /* If we were asked to grab the keyboard previously but had to delay it
-             * then try again on every key press and release event until we manage: */
-            if (m_idxDelayedKeyboardCaptureView != -1)
-                captureKeyboard(m_idxDelayedKeyboardCaptureView);
-
             /* Cast to XCB key-event: */
             xcb_key_press_event_t *pKeyEvent = static_cast<xcb_key_press_event_t*>(pMessage);
 
@@ -1454,43 +1438,6 @@ bool UIKeyboardHandler::nativeEventPostprocessor(void *pMessage, ulong uScreenId
 
             break;
         }
-        /* Watch for mouse-events: */
-        case XCB_BUTTON_PRESS:
-        {
-            /* Do nothing if mouse is actively grabbed: */
-            if (uisession()->isMouseCaptured())
-                break;
-
-            /* If we see a mouse press outside of our views while the mouse is not
-             * captured, release the keyboard before letting the event owner see it.
-             * This is because some owners cannot deal with failures to grab the
-             * keyboard themselves (e.g. window managers dragging windows).
-             * Only works if we have passively grabbed the mouse button. */
-
-            /* Cast to XCB key-event: */
-            xcb_button_press_event_t *pButtonEvent = static_cast<xcb_button_press_event_t*>(pMessage);
-
-            /* Detect the widget which should receive the event actually: */
-            const QWidget *pWidget = qApp->widgetAt(pButtonEvent->root_x, pButtonEvent->root_y);
-            if (pWidget)
-            {
-                /* Redirect the event to corresponding widget: */
-                const QPoint pos = pWidget->mapFromGlobal(QPoint(pButtonEvent->root_x, pButtonEvent->root_y));
-                pButtonEvent->event = pWidget->effectiveWinId();
-                pButtonEvent->event_x = pos.x();
-                pButtonEvent->event_y = pos.y();
-                xcb_ungrab_pointer_checked(QX11Info::connection(), pButtonEvent->time);
-                break;
-            }
-            /* Else if the event happened outside of our view areas then release the keyboard,
-             * but set the delayed capture index so that it will be captured again if we still
-             * have the focus after the event is handled: */
-            releaseKeyboard();
-            m_idxDelayedKeyboardCaptureView = uScreenId;
-            /* And re-send the event so that the window which it was meant for actually gets it: */
-            xcb_allow_events_checked(QX11Info::connection(), XCB_ALLOW_REPLAY_POINTER, pButtonEvent->time);
-            break;
-        }
         default:
             break;
     }
@@ -1561,14 +1508,23 @@ void UIKeyboardHandler::sltMachineStateChanged()
         popupCenter().forgetAboutPausedVMInput(machineLogic()->activeMachineWindow());
 }
 
+#if QT_VERSION >= 0x050000
+void UIKeyboardHandler::sltFinaliseCaptureKeyboard()
+{
+    /* Try to finalise keyboard capture: */
+    if (!finaliseCaptureKeyboard())
+    {
+        /* Try again in another 300 milliseconds in case of failure: */
+        QTimer::singleShot(300, this, SLOT(sltFinaliseCaptureKeyboard()));
+    }
+}
+#endif
+
 /* Keyboard-handler constructor: */
 UIKeyboardHandler::UIKeyboardHandler(UIMachineLogic *pMachineLogic)
     : QObject(pMachineLogic)
     , m_pMachineLogic(pMachineLogic)
     , m_iKeyboardCaptureViewIndex(-1)
-#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
-    , m_idxDelayedKeyboardCaptureView(-1)
-#endif /* VBOX_WS_X11 && QT_VERSION >= 0x050000 */
     , m_globalSettings(vboxGlobal().settings())
     , m_fIsKeyboardCaptured(false)
     , m_bIsHostComboPressed(false)
@@ -1585,9 +1541,6 @@ UIKeyboardHandler::UIKeyboardHandler(UIMachineLogic *pMachineLogic)
     , m_keyboardHook(NULL)
     , m_pAltGrMonitor(0)
 #endif /* VBOX_WS_WIN */
-#if QT_VERSION >= 0x050000
-    , m_pPrivateEventFilter(0)
-#endif /* QT_VERSION >= 0x050000 */
     , m_cMonitors(1)
 {
     /* Prepare: */
@@ -1667,17 +1620,6 @@ void UIKeyboardHandler::cleanupCommon()
 
 #endif /* VBOX_WS_WIN */
 
-#if QT_VERSION >= 0x050000
-    /* If private event-filter is installed: */
-    if (m_pPrivateEventFilter)
-    {
-        /* Uninstall existing private event-filter: */
-        qApp->removeNativeEventFilter(m_pPrivateEventFilter);
-        delete m_pPrivateEventFilter;
-        m_pPrivateEventFilter = 0;
-    }
-#endif /* QT_VERSION >= 0x050000 */
-
     /* Update keyboard hook view index: */
     m_iKeyboardHookViewIndex = -1;
 }
@@ -1765,27 +1707,6 @@ bool UIKeyboardHandler::eventFilter(QObject *pWatchedObject, QEvent *pEvent)
 
 #endif /* VBOX_WS_WIN */
 
-#if QT_VERSION >= 0x050000
-# if defined(VBOX_WS_WIN) || defined(VBOX_WS_X11)
-                /* If private event-filter is NOT installed;
-                 * Or installed but NOT for that view: */
-                if (!m_pPrivateEventFilter || (int)uScreenId != m_iKeyboardHookViewIndex)
-                {
-                    /* If private event-filter is installed: */
-                    if (m_pPrivateEventFilter)
-                    {
-                        /* Uninstall existing private event-filter: */
-                        qApp->removeNativeEventFilter(m_pPrivateEventFilter);
-                        delete m_pPrivateEventFilter;
-                        m_pPrivateEventFilter = 0;
-                    }
-                    /* Install new private event-filter: */
-                    m_pPrivateEventFilter = new KeyboardHandlerEventFilter(this);
-                    qApp->installNativeEventFilter(m_pPrivateEventFilter);
-                }
-# endif /* VBOX_WS_WIN || VBOX_WS_X11 */
-#endif /* QT_VERSION >= 0x050000 */
-
                 /* Update keyboard hook view index: */
                 m_iKeyboardHookViewIndex = uScreenId;
 
@@ -1798,11 +1719,7 @@ bool UIKeyboardHandler::eventFilter(QObject *pWatchedObject, QEvent *pEvent)
 #else /* !VBOX_WS_WIN */
                     if (!isAutoCaptureDisabled() && autoCaptureSetGlobally())
 #endif /* !VBOX_WS_WIN */
-#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
-                        m_idxDelayedKeyboardCaptureView = uScreenId;
-#else /* !VBOX_WS_X11 || QT_VERSION < 0x050000 */
                         captureKeyboard(uScreenId);
-#endif /* !VBOX_WS_X11 || QT_VERSION < 0x050000 */
                     /* Reset the single-time disable capture flag: */
                     if (isAutoCaptureDisabled())
                         setAutoCaptureDisabled(false);
@@ -1835,19 +1752,6 @@ bool UIKeyboardHandler::eventFilter(QObject *pWatchedObject, QEvent *pEvent)
 
 #endif /* VBOX_WS_WIN */
 
-#if QT_VERSION >= 0x050000
-# if defined(VBOX_WS_WIN) || defined(VBOX_WS_X11)
-                /* If private event-filter is installed: */
-                if (m_pPrivateEventFilter)
-                {
-                    /* Uninstall existing private event-filter: */
-                    qApp->removeNativeEventFilter(m_pPrivateEventFilter);
-                    delete m_pPrivateEventFilter;
-                    m_pPrivateEventFilter = 0;
-                }
-# endif /* VBOX_WS_WIN || VBOX_WS_X11 */
-#endif /* QT_VERSION >= 0x050000 */
-
                 /* Update keyboard hook view index: */
                 m_iKeyboardHookViewIndex = -1;
 
@@ -1859,6 +1763,28 @@ bool UIKeyboardHandler::eventFilter(QObject *pWatchedObject, QEvent *pEvent)
 
                 break;
             }
+#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
+            case QEvent::Enter:
+            {
+                /* Release the mouse button grab.
+                 * We do not check for failure as we do not currently implement a back-up plan. */
+                xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_1,
+                                          QX11Info::appRootWindow(), XCB_MOD_MASK_ANY);
+
+                break;
+            }
+            case QEvent::Leave:
+            {
+                /* Grab the mouse button if the keyboard is captured.
+                 * We do not check for failure as we do not currently implement a back-up plan. */
+                if (m_fIsKeyboardCaptured)
+                    xcb_grab_button_checked(QX11Info::connection(), 0, QX11Info::appRootWindow(),
+                                            XCB_EVENT_MASK_BUTTON_PRESS, XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC,
+                                            XCB_NONE, XCB_NONE, XCB_BUTTON_INDEX_1, XCB_MOD_MASK_ANY);
+
+                break;
+            }
+#endif /* VBOX_WS_X11 && QT_VERSION >= 0x050000 */
             case QEvent::KeyPress:
             case QEvent::KeyRelease:
             {
@@ -1944,8 +1870,7 @@ bool UIKeyboardHandler::macKeyboardEvent(const void *pvCocoaEvent, EventRef even
     return m_views[m_iKeyboardHookViewIndex]->macEvent(pvCocoaEvent, event);
 #else /* QT_VERSION >= 0x050000 */
     Q_UNUSED(event);
-    QByteArray eventType("mac_generic_NSEvent");
-    return m_views[m_iKeyboardHookViewIndex]->nativeEventPreprocessor(eventType, unconst(pvCocoaEvent));
+    return nativeEventFilter(unconst(pvCocoaEvent), m_iKeyboardHookViewIndex);
 #endif /* QT_VERSION >= 0x050000 */
 }
 
@@ -2010,8 +1935,7 @@ bool UIKeyboardHandler::winKeyboardEvent(UINT msg, const KBDLLHOOKSTRUCT &event)
     long dummyResult;
     return m_views[m_iKeyboardHookViewIndex]->winEvent(&message, &dummyResult);
 #else /* QT_VERSION >= 0x050000 */
-    QByteArray eventType("windows_generic_MSG");
-    return m_views[m_iKeyboardHookViewIndex]->nativeEventPreprocessor(eventType, &message);
+    return nativeEventFilter(&message, m_iKeyboardHookViewIndex);
 #endif /* QT_VERSION >= 0x050000 */
 }
 
@@ -2167,26 +2091,33 @@ void UIKeyboardHandler::keyEventHandleHostComboRelease(ulong uScreenId)
                 }
                 if (ok)
                 {
+                    /* Determine whether the mouse can be captured: */
+                    bool fCaptureMouse =    !uisession()->isMouseSupportsAbsolute()
+                                         || !uisession()->isMouseIntegrated();
+
                     if (m_fIsKeyboardCaptured)
+                    {
                         releaseKeyboard();
+                        if (fCaptureMouse)
+                            machineLogic()->mouseHandler()->releaseMouse();
+                    }
                     else
-                        captureKeyboard(uScreenId);
-                    if (!uisession()->isMouseSupportsAbsolute() || !uisession()->isMouseIntegrated())
                     {
+                        captureKeyboard(uScreenId);
 #ifdef VBOX_WS_X11
                         /* Make sure that pending FocusOut events from the
                          * previous message box are handled, otherwise the
                          * mouse is immediately ungrabbed: */
+                        /// @todo Is that really needed?
                         qApp->processEvents();
 #endif /* VBOX_WS_X11 */
-                        if (m_fIsKeyboardCaptured)
+                        finaliseCaptureKeyboard();
+                        if (fCaptureMouse)
                         {
                             const MouseCapturePolicy mcp = gEDataManager->mouseCapturePolicy(vboxGlobal().managedVMUuid());
                             if (mcp == MouseCapturePolicy_Default || mcp == MouseCapturePolicy_HostComboOnly)
                                 machineLogic()->mouseHandler()->captureMouse(uScreenId);
                         }
-                        else
-                            machineLogic()->mouseHandler()->releaseMouse();
                     }
                 }
             }
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h
index b56e0dd..27330cb 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.h
@@ -19,6 +19,7 @@
 #define ___UIKeyboardHandler_h___
 
 /* Qt includes: */
+#include <QtGlobal>
 #include <QMap>
 #include <QObject>
 
@@ -51,9 +52,6 @@ class WinAltGrMonitor;
 typedef union _XEvent XEvent;
 # endif /* QT_VERSION < 0x050000 */
 #endif /* VBOX_WS_X11 */
-#if QT_VERSION >= 0x050000
-class KeyboardHandlerEventFilter;
-#endif /* QT_VERSION >= 0x050000 */
 
 
 /* Delegate to control VM keyboard functionality: */
@@ -82,8 +80,14 @@ public:
     bool checkForX11FocusEvents(unsigned long hWindow);
 # endif /* QT_VERSION < 0x050000 */
 #endif /* VBOX_WS_X11 */
+
+    /** Captures the keyboard for @a uScreenId. */
     void captureKeyboard(ulong uScreenId);
+    /** Finalises keyboard capture. */
+    bool finaliseCaptureKeyboard();
+    /** Releases the keyboard. */
     void releaseKeyboard();
+
     void releaseAllPressedKeys(bool aReleaseHostKey = true);
 
     /* Current keyboard state: */
@@ -110,27 +114,30 @@ public:
 
 #if QT_VERSION < 0x050000
 # if defined(VBOX_WS_MAC)
-    /** Qt4: Mac: Performs final pre-processing of all the native events. */
+    /** Qt4: Mac: Performs pre-processing of all the native events. */
     bool macEventFilter(const void *pvCocoaEvent, EventRef event, ulong uScreenId);
 # elif defined(VBOX_WS_WIN)
-    /** Qt4: Win: Performs final pre-processing of all the native events. */
+    /** Qt4: Win: Performs pre-processing of all the native events. */
     bool winEventFilter(MSG *pMsg, ulong uScreenId);
 # elif defined(VBOX_WS_X11)
-    /** Qt4: X11: Performs final pre-processing of all the native events. */
+    /** Qt4: X11: Performs pre-processing of all the native events. */
     bool x11EventFilter(XEvent *pEvent, ulong uScreenId);
 # endif /* VBOX_WS_X11 */
-#else /* QT_VERSION >= 0x050000 */
+#else
     /** Qt5: Performs pre-processing of all the native events. */
-    bool nativeEventPreprocessor(const QByteArray &eventType, void *pMessage);
-    /** Qt5: Performs post-processing of all the native events. */
-    bool nativeEventPostprocessor(void *pMessage, ulong uScreenId);
-#endif /* QT_VERSION >= 0x050000 */
+    bool nativeEventFilter(void *pMessage, ulong uScreenId);
+#endif
 
 protected slots:
 
     /* Machine state-change handler: */
     virtual void sltMachineStateChanged();
 
+#if QT_VERSION >= 0x050000
+    /** Finalises keyboard capture. */
+    void sltFinaliseCaptureKeyboard();
+#endif
+
 protected:
 
     /* Keyboard-handler constructor/destructor: */
@@ -200,10 +207,6 @@ protected:
 
     /* Other keyboard variables: */
     int m_iKeyboardCaptureViewIndex;
-#if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
-    /* Holds the index of the screen to capture keyboard when ready. */
-    int m_idxDelayedKeyboardCaptureView;
-#endif /* VBOX_WS_X11 && QT_VERSION >= 0x050000 */
     const VBoxGlobalSettings &m_globalSettings;
 
     uint8_t m_pressedKeys[128];
@@ -239,14 +242,6 @@ protected:
     static UIKeyboardHandler *m_spKeyboardHandler;
 #endif /* VBOX_WS_WIN */
 
-#if QT_VERSION >= 0x050000
-    /** Win: Holds the native event filter instance. */
-    KeyboardHandlerEventFilter *m_pPrivateEventFilter;
-    /** Win: Allows the native event filter to
-      * redirect events directly to nativeEventPreprocessor handler. */
-    friend class KeyboardHandlerEventFilter;
-#endif /* QT_VERSION >= 0x050000 */
-
     ULONG m_cMonitors;
 };
 
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
index b0f8210..467a331 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
@@ -70,6 +70,11 @@
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
+/* Qt includes: */
+#if QT_VERSION >= 0x050000
+# include <QAbstractNativeEventFilter>
+#endif
+
 /* GUI includes: */
 #ifdef VBOX_WS_MAC
 # include "DarwinKeyboard.h"
@@ -122,6 +127,32 @@ const int XKeyRelease = KeyRelease;
 #endif
 
 
+#if QT_VERSION >= 0x050000
+/** QAbstractNativeEventFilter extension
+  * allowing to pre-process native platform events. */
+class UINativeEventFilter : public QAbstractNativeEventFilter
+{
+public:
+
+    /** Constructs native event filter storing @a pParent to redirect events to. */
+    UINativeEventFilter(UIMachineView *pParent)
+        : m_pParent(pParent)
+    {}
+
+    /** Redirects all the native events to parent. */
+    bool nativeEventFilter(const QByteArray &eventType, void *pMessage, long * /* pResult */)
+    {
+        return m_pParent->nativeEventPreprocessor(eventType, pMessage);
+    }
+
+private:
+
+    /** Holds the passed parent reference. */
+    UIMachineView *m_pParent;
+};
+#endif
+
+
 /* static */
 UIMachineView* UIMachineView::create(  UIMachineWindow *pMachineWindow
                                      , ulong uScreenId
@@ -214,6 +245,9 @@ void UIMachineView::destroy(UIMachineView *pMachineView)
     if (!pMachineView)
         return;
 
+    /* Cleanup filters: */
+    pMachineView->cleanupFilters();
+
     /* Cleanup frame-buffer: */
     pMachineView->cleanupFrameBuffer();
 
@@ -621,6 +655,9 @@ UIMachineView::UIMachineView(  UIMachineWindow *pMachineWindow
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
     , m_fIsDraggingFromGuest(false)
 #endif
+#if QT_VERSION >= 0x050000
+    , m_pNativeEventFilter(0)
+#endif
 {
 }
 
@@ -824,6 +861,20 @@ void UIMachineView::prepareConsoleConnections()
     connect(uisession(), SIGNAL(sigMachineStateChange()), this, SLOT(sltMachineStateChanged()));
 }
 
+void UIMachineView::cleanupFilters()
+{
+#if QT_VERSION >= 0x050000
+    /* If native event filter exists: */
+    if (m_pNativeEventFilter)
+    {
+        /* Uninstall/destroy existing native event filter: */
+        qApp->removeNativeEventFilter(m_pNativeEventFilter);
+        delete m_pNativeEventFilter;
+        m_pNativeEventFilter = 0;
+    }
+#endif
+}
+
 void UIMachineView::cleanupFrameBuffer()
 {
     /* Make sure proper framebuffer assigned: */
@@ -1510,6 +1561,37 @@ void UIMachineView::paintEvent(QPaintEvent *pPaintEvent)
 #endif /* VBOX_WS_MAC */
 }
 
+#if QT_VERSION >= 0x050000
+void UIMachineView::focusInEvent(QFocusEvent *pEvent)
+{
+    /* Call to base-class: */
+    QAbstractScrollArea::focusInEvent(pEvent);
+
+    /* If native event filter isn't exists: */
+    if (!m_pNativeEventFilter)
+    {
+        /* Create/install new native event filter: */
+        m_pNativeEventFilter = new UINativeEventFilter(this);
+        qApp->installNativeEventFilter(m_pNativeEventFilter);
+    }
+}
+
+void UIMachineView::focusOutEvent(QFocusEvent *pEvent)
+{
+    /* If native event filter exists: */
+    if (m_pNativeEventFilter)
+    {
+        /* Uninstall/destroy existing native event filter: */
+        qApp->removeNativeEventFilter(m_pNativeEventFilter);
+        delete m_pNativeEventFilter;
+        m_pNativeEventFilter = 0;
+    }
+
+    /* Call to base-class: */
+    QAbstractScrollArea::focusOutEvent(pEvent);
+}
+#endif
+
 #ifdef VBOX_WITH_DRAG_AND_DROP
 bool UIMachineView::dragAndDropCanAccept(void) const
 {
@@ -1703,12 +1785,12 @@ bool UIMachineView::macEvent(const void *pvCocoaEvent, EventRef event)
      * Returning @c true means filtering-out,
      * Returning @c false means passing event to Qt. */
     bool fResult = false; /* Pass to Qt by default. */
-    switch(::GetEventClass(event))
+    switch (::GetEventClass(event))
     {
         /* Watch for keyboard-events: */
         case kEventClassKeyboard:
         {
-            switch(::GetEventKind(event))
+            switch (::GetEventKind(event))
             {
                 /* Watch for key-events: */
                 case kEventRawKeyDown:
@@ -1821,6 +1903,10 @@ bool UIMachineView::x11Event(XEvent *pEvent)
 
 bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *pMessage)
 {
+    /* Check if some event should be filtered out.
+     * Returning @c true means filtering-out,
+     * Returning @c false means passing event to Qt. */
+
 # if defined(VBOX_WS_MAC)
 
     /* Make sure it's generic NSEvent: */
@@ -1828,15 +1914,12 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
         return false;
     EventRef event = static_cast<EventRef>(darwinCocoaToCarbonEvent(pMessage));
 
-    /* Check if some NSEvent should be filtered out.
-     * Returning @c true means filtering-out,
-     * Returning @c false means passing event to Qt. */
-    switch(::GetEventClass(event))
+    switch (::GetEventClass(event))
     {
         /* Watch for keyboard-events: */
         case kEventClassKeyboard:
         {
-            switch(::GetEventKind(event))
+            switch (::GetEventKind(event))
             {
                 /* Watch for key-events: */
                 case kEventRawKeyDown:
@@ -1845,7 +1928,24 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
                 case kEventRawKeyModifiersChanged:
                 {
                     /* Delegate key-event handling to the keyboard-handler: */
-                    return machineLogic()->keyboardHandler()->nativeEventPostprocessor(pMessage, screenId());
+                    return machineLogic()->keyboardHandler()->nativeEventFilter(pMessage, screenId());
+                }
+                default:
+                    break;
+            }
+            break;
+        }
+        /* Watch for mouse-events: */
+        case kEventClassMouse:
+        {
+            switch (::GetEventKind(event))
+            {
+                /* Watch for button-events: */
+                case kEventMouseDown:
+                case kEventMouseUp:
+                {
+                    /* Delegate button-event handling to the mouse-handler: */
+                    return machineLogic()->mouseHandler()->nativeEventFilter(pMessage, screenId());
                 }
                 default:
                     break;
@@ -1863,9 +1963,6 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
         return false;
     MSG *pEvent = static_cast<MSG*>(pMessage);
 
-    /* Check if some MSG event should be filtered out.
-     * Returning @c true means filtering-out,
-     * Returning @c false means passing event to Qt. */
     switch (pEvent->message)
     {
         /* Watch for key-events: */
@@ -1874,8 +1971,9 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
         case WM_KEYUP:
         case WM_SYSKEYUP:
         {
-            /* Can't do COM inter-process calls from a SendMessage handler,
-             * see http://support.microsoft.com/kb/131056. */
+            // WORKAROUND:
+            // Can't do COM inter-process calls from a SendMessage handler,
+            // see http://support.microsoft.com/kb/131056.
             if (vboxGlobal().isSeparateProcess() && InSendMessage())
             {
                 PostMessage(pEvent->hwnd, pEvent->message, pEvent->wParam, pEvent->lParam);
@@ -1895,7 +1993,7 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
                 return false;
 
             /* Delegate key-event handling to the keyboard-handler: */
-            return machineLogic()->keyboardHandler()->nativeEventPostprocessor(pMessage, screenId());
+            return machineLogic()->keyboardHandler()->nativeEventFilter(pMessage, screenId());
         }
         default:
             break;
@@ -1908,19 +2006,21 @@ bool UIMachineView::nativeEventPreprocessor(const QByteArray &eventType, void *p
         return false;
     xcb_generic_event_t *pEvent = static_cast<xcb_generic_event_t*>(pMessage);
 
-    /* Check if some XCB event should be filtered out.
-     * Returning @c true means filtering-out,
-     * Returning @c false means passing event to Qt. */
     switch (pEvent->response_type & ~0x80)
     {
         /* Watch for key-events: */
         case XCB_KEY_PRESS:
         case XCB_KEY_RELEASE:
+        {
+            /* Delegate key-event handling to the keyboard-handler: */
+            return machineLogic()->keyboardHandler()->nativeEventFilter(pMessage, screenId());
+        }
+        /* Watch for button-events: */
         case XCB_BUTTON_PRESS:
+        case XCB_BUTTON_RELEASE:
         {
-            /* Delegate key-event handling to the keyboard-handler and let it
-             * filter out button presses out of the view windows: */
-            return machineLogic()->keyboardHandler()->nativeEventPostprocessor(pMessage, screenId());
+            /* Delegate button-event handling to the mouse-handler: */
+            return machineLogic()->mouseHandler()->nativeEventFilter(pMessage, screenId());
         }
         default:
             break;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
index 7bd8c6a..8f70a04 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
@@ -64,6 +64,9 @@ typedef union _XEvent XEvent;
 #ifdef VBOX_WITH_DRAG_AND_DROP
  class CDnDTarget;
 #endif /* VBOX_WITH_DRAG_AND_DROP */
+#if QT_VERSION >= 0x050000
+class UINativeEventFilter;
+#endif
 
 
 class UIMachineView : public QAbstractScrollArea
@@ -185,7 +188,7 @@ protected:
     /* Cleanup routines: */
     //virtual void cleanupConsoleConnections() {}
     //virtual void cleanupConnections() {}
-    //virtual void cleanupFilters() {}
+    virtual void cleanupFilters();
     //virtual void cleanupCommon() {}
     virtual void cleanupFrameBuffer();
     //virtual void cleanupViewport();
@@ -280,6 +283,13 @@ protected:
     void moveEvent(QMoveEvent *pEvent);
     void paintEvent(QPaintEvent *pEvent);
 
+#if QT_VERSION >= 0x050000
+    /** Handles focus-in @a pEvent. */
+    void focusInEvent(QFocusEvent *pEvent);
+    /** Handles focus-out @a pEvent. */
+    void focusOutEvent(QFocusEvent *pEvent);
+#endif
+
 #ifdef VBOX_WITH_DRAG_AND_DROP
     /**
      * Returns @true if the VM window can accept (start is, start) a drag and drop
@@ -426,6 +436,14 @@ protected:
 # endif
 #endif
 
+#if QT_VERSION >= 0x050000
+    /** Holds the native event filter instance. */
+    UINativeEventFilter *m_pNativeEventFilter;
+    /** Allows the native event filter to redirect
+      * events directly to nativeEventPreprocessor(). */
+    friend class UINativeEventFilter;
+#endif
+
     /* Friend classes: */
     friend class UIKeyboardHandler;
     friend class UIMouseHandler;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
index dca316c..f257487 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
@@ -22,6 +22,9 @@
 /* Qt includes: */
 # include <QMouseEvent>
 # include <QTimer>
+# if defined(VBOX_WS_X11) && QT_VERSION >= 0x050000
+#  include <QX11Info>
+# endif
 
 /* GUI includes: */
 # include "VBoxGlobal.h"
@@ -54,6 +57,11 @@
 /* Qt includes: */
 #include <QTouchEvent>
 
+/* GUI includes: */
+#if defined(VBOX_WS_MAC) && QT_VERSION >= 0x050000
+# include "CocoaEventHelper.h"
+#endif
+
 /* COM includes: */
 #include "CMouse.h"
 
@@ -65,8 +73,10 @@
 const int XFocusOut = FocusOut;
 #   undef FocusOut
 #  endif /* FocusOut */
-# endif /* QT_VERSION < 0x050000 */
-#endif /* VBOX_WS_X11 */
+# else
+#  include <xcb/xcb.h>
+# endif
+#endif
 
 
 /* Factory function to create mouse-handler: */
@@ -263,8 +273,9 @@ int UIMouseHandler::state() const
            (uisession()->isMouseIntegrated() ? 0 : UIMouseStateType_MouseAbsoluteDisabled);
 }
 
-#ifdef VBOX_WS_X11
-# if QT_VERSION < 0x050000
+#if QT_VERSION < 0x050000
+# ifdef VBOX_WS_X11
+
 bool UIMouseHandler::x11EventFilter(XEvent *pEvent, ulong /* uScreenId */)
 {
     /* Check if some system event should be filtered-out.
@@ -292,8 +303,122 @@ bool UIMouseHandler::x11EventFilter(XEvent *pEvent, ulong /* uScreenId */)
     /* Return result: */
     return fResult;
 }
-# endif /* QT_VERSION < 0x050000 */
-#endif /* VBOX_WS_X11 */
+
+# endif /* VBOX_WS_X11 */
+#else /* QT_VERSION >= 0x050000 */
+
+bool UIMouseHandler::nativeEventFilter(void *pMessage, ulong uScreenId)
+{
+    /* Make sure view with passed index exists: */
+    if (!m_views.contains(uScreenId))
+        return false;
+
+    /* Check if some system event should be filtered out.
+     * Returning @c true means filtering-out,
+     * Returning @c false means passing event to Qt. */
+    bool fResult = false; /* Pass to Qt by default. */
+
+# if defined(VBOX_WS_MAC)
+
+    /* Acquire carbon event reference from the cocoa one: */
+    EventRef event = static_cast<EventRef>(darwinCocoaToCarbonEvent(pMessage));
+
+    /* Depending on event kind: */
+    const UInt32 uEventKind = ::GetEventKind(event);
+    switch (uEventKind)
+    {
+        /* Watch for button-events: */
+        case kEventMouseDown:
+        case kEventMouseUp:
+        {
+            /* Acquire button number: */
+            EventMouseButton enmButton = 0;
+            ::GetEventParameter(event, kEventParamMouseButton, typeMouseButton,
+                                NULL, sizeof(enmButton), NULL, &enmButton);
+            /* If the event comes for primary mouse button: */
+            if (enmButton == kEventMouseButtonPrimary)
+            {
+                /* Acquire modifiers: */
+                UInt32 uKeyModifiers = ~0U;
+                ::GetEventParameter(event, kEventParamKeyModifiers, typeUInt32,
+                                    NULL, sizeof(uKeyModifiers), NULL, &uKeyModifiers);
+                /* If the event comes with Control modifier: */
+                if (uKeyModifiers == controlKey)
+                {
+                    /* Replacing it with the stripped one: */
+                    darwinPostStrippedMouseEvent(pMessage);
+                    /* And filter out initial one: */
+                    return true;
+                }
+            }
+        }
+    }
+
+# elif defined(VBOX_WS_WIN)
+
+    /* Nothing for now. */
+    RT_NOREF(pMessage, uScreenId);
+
+# elif defined(VBOX_WS_X11)
+
+    /* Cast to XCB event: */
+    xcb_generic_event_t *pEvent = static_cast<xcb_generic_event_t*>(pMessage);
+
+    /* Depending on event type: */
+    switch (pEvent->response_type & ~0x80)
+    {
+        /* Watch for button-events: */
+        case XCB_BUTTON_PRESS:
+        {
+            /* Do nothing if mouse is actively grabbed: */
+            if (uisession()->isMouseCaptured())
+                break;
+
+            /* If we see a mouse press outside of our views while the mouse is not
+             * captured, release the keyboard before letting the event owner see it.
+             * This is because some owners cannot deal with failures to grab the
+             * keyboard themselves (e.g. window managers dragging windows).
+             * Only works if we have passively grabbed the mouse button. */
+
+            /* Cast to XCB button-event: */
+            xcb_button_press_event_t *pButtonEvent = static_cast<xcb_button_press_event_t*>(pMessage);
+
+            /* Detect the widget which should receive the event actually: */
+            const QWidget *pWidget = qApp->widgetAt(pButtonEvent->root_x, pButtonEvent->root_y);
+            if (pWidget)
+            {
+                /* Redirect the event to corresponding widget: */
+                const QPoint pos = pWidget->mapFromGlobal(QPoint(pButtonEvent->root_x, pButtonEvent->root_y));
+                pButtonEvent->event = pWidget->effectiveWinId();
+                pButtonEvent->event_x = pos.x();
+                pButtonEvent->event_y = pos.y();
+                xcb_ungrab_pointer_checked(QX11Info::connection(), pButtonEvent->time);
+                break;
+            }
+            /* Else if the event happened outside of our view areas then release the keyboard,
+             * but capture it again (delayed) immediately. If the event causes us to loose the
+             * focus then the delayed capture will not happen: */
+            machineLogic()->keyboardHandler()->releaseKeyboard();
+            machineLogic()->keyboardHandler()->captureKeyboard(uScreenId);
+            /* And re-send the event so that the window which it was meant for actually gets it: */
+            xcb_allow_events_checked(QX11Info::connection(), XCB_ALLOW_REPLAY_POINTER, pButtonEvent->time);
+            break;
+        }
+        default:
+            break;
+    }
+
+# else
+
+#  warning "port me!"
+
+# endif
+
+    /* Return result: */
+    return fResult;
+}
+
+#endif /* QT_VERSION >= 0x050000 */
 
 /* Machine state-change handler: */
 void UIMouseHandler::sltMachineStateChanged()
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.h
index 12c44ac..65f998f 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.h
@@ -74,12 +74,15 @@ public:
     /* Current mouse state: */
     int state() const;
 
-#ifdef VBOX_WS_X11
-# if QT_VERSION < 0x050000
-    /** X11: Qt4: Handles all native events. */
+#if QT_VERSION < 0x050000
+# ifdef VBOX_WS_X11
+    /** Qt4: X11: Performs pre-processing of all the native events. */
     bool x11EventFilter(XEvent *pEvent, ulong uScreenId);
-# endif /* QT_VERSION < 0x050000 */
-#endif /* VBOX_WS_X11 */
+# endif
+#else
+    /** Qt5: Performs pre-processing of all the native events. */
+    bool nativeEventFilter(void *pMessage, ulong uScreenId);
+#endif
 
 protected slots:
 
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
index 433775b..f94e9be 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
@@ -285,6 +285,8 @@ bool UISession::powerUp()
         LogRel(("GUI: Aborting startup due to power up issue detected...\n"));
         return false;
     }
+    
+    LogRel(("Qt version: %s\n", VBoxGlobal::qtRTVersionString().toUtf8().constData()));
 
     /* Enable 'manual-override',
      * preventing automatic Runtime UI closing
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.cpp b/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.cpp
index 3a1a0ca..35b15fe 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.cpp
@@ -90,6 +90,9 @@ protected:
 
 private:
 
+    /** Holds the COM event source instance. */
+    CEventSource m_comEventSource;
+
     /** Holds the Qt event listener instance. */
     ComObjPtr<UIMainEventListenerImpl> m_pQtListener;
     /** Holds the COM event listener instance. */
@@ -129,28 +132,30 @@ void UIVirtualBoxEventHandlerProxy::prepareListener()
     m_comEventListener = CEventListener(m_pQtListener);
 
     /* Get VirtualBoxClient: */
-    const CVirtualBoxClient vboxClient = vboxGlobal().virtualBoxClient();
-    AssertWrapperOk(vboxClient);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBoxClient = vboxClient.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBoxClient);
-    /* Register listener for expected event-types: */
-    QVector<KVBoxEventType> vboxClientEvents;
-    vboxClientEvents
-        << KVBoxEventType_OnVBoxSVCAvailabilityChanged;
-    eventSourceVirtualBoxClient.RegisterListener(m_comEventListener, vboxClientEvents,
-        gEDataManager->eventHandlingType() == EventHandlingType_Active ? TRUE : FALSE);
-    AssertWrapperOk(eventSourceVirtualBoxClient);
+    const CVirtualBoxClient comVBoxClient = vboxGlobal().virtualBoxClient();
+    AssertWrapperOk(comVBoxClient);
+    /* Get VirtualBoxClient event source: */
+    CEventSource comEventSourceVBoxClient = comVBoxClient.GetEventSource();
+    AssertWrapperOk(comEventSourceVBoxClient);
 
     /* Get VirtualBox: */
-    const CVirtualBox vbox = vboxGlobal().virtualBox();
-    AssertWrapperOk(vbox);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBox);
-    /* Register listener for expected event-types: */
-    QVector<KVBoxEventType> vboxEvents;
-    vboxEvents
+    const CVirtualBox comVBox = vboxGlobal().virtualBox();
+    AssertWrapperOk(comVBox);
+    /* Get VirtualBox event source: */
+    CEventSource comEventSourceVBox = comVBox.GetEventSource();
+    AssertWrapperOk(comEventSourceVBox);
+
+    /* Create event source aggregator: */
+    m_comEventSource = comEventSourceVBoxClient.CreateAggregator(QVector<CEventSource>()
+                                                                 << comEventSourceVBoxClient
+                                                                 << comEventSourceVBox);
+
+    /* Enumerate all the required event-types: */
+    QVector<KVBoxEventType> eventTypes;
+    eventTypes
+        /* For VirtualBoxClient: */
+        << KVBoxEventType_OnVBoxSVCAvailabilityChanged
+        /* For VirtualBox: */
         << KVBoxEventType_OnMachineStateChanged
         << KVBoxEventType_OnMachineDataChanged
         << KVBoxEventType_OnMachineRegistered
@@ -159,16 +164,17 @@ void UIVirtualBoxEventHandlerProxy::prepareListener()
         << KVBoxEventType_OnSnapshotDeleted
         << KVBoxEventType_OnSnapshotChanged
         << KVBoxEventType_OnSnapshotRestored;
-    eventSourceVirtualBox.RegisterListener(m_comEventListener, vboxEvents,
+
+    /* Register event listener for event source aggregator: */
+    m_comEventSource.RegisterListener(m_comEventListener, eventTypes,
         gEDataManager->eventHandlingType() == EventHandlingType_Active ? TRUE : FALSE);
-    AssertWrapperOk(eventSourceVirtualBox);
+    AssertWrapperOk(m_comEventSource);
 
     /* If event listener registered as passive one: */
     if (gEDataManager->eventHandlingType() == EventHandlingType_Passive)
     {
         /* Register event sources in their listeners as well: */
-        m_pQtListener->getWrapped()->registerSource(eventSourceVirtualBoxClient, m_comEventListener);
-        m_pQtListener->getWrapped()->registerSource(eventSourceVirtualBox, m_comEventListener);
+        m_pQtListener->getWrapped()->registerSource(m_comEventSource, m_comEventListener);
     }
 }
 
@@ -218,23 +224,9 @@ void UIVirtualBoxEventHandlerProxy::cleanupListener()
         m_pQtListener->getWrapped()->unregisterSources();
     }
 
-    /* Get VirtualBox: */
-    const CVirtualBox vbox = vboxGlobal().virtualBox();
-    AssertWrapperOk(vbox);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBox);
-    /* Unregister listener: */
-    eventSourceVirtualBox.UnregisterListener(m_comEventListener);
-
-    /* Get VirtualBoxClient: */
-    const CVirtualBoxClient vboxClient = vboxGlobal().virtualBoxClient();
-    AssertWrapperOk(vboxClient);
-    /* Get event-source: */
-    CEventSource eventSourceVirtualBoxClient = vboxClient.GetEventSource();
-    AssertWrapperOk(eventSourceVirtualBoxClient);
-    /* Unregister listener: */
-    eventSourceVirtualBoxClient.UnregisterListener(m_comEventListener);
+    /* Unregister event listener for event source aggregator: */
+    m_comEventSource.UnregisterListener(m_comEventListener);
+    m_comEventSource.detach();
 }
 
 void UIVirtualBoxEventHandlerProxy::cleanup()
diff --git a/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp b/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp
index fa65881..2b38fad 100644
--- a/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp
+++ b/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp
@@ -570,6 +570,7 @@ static void clipConvertX11Targets(Widget widget, XtPointer pClientData,
         pFormats = (CLIPX11FORMAT *)RTMemAllocZ(*pcLen * sizeof(CLIPX11FORMAT));
 #if defined(DEBUG) && !defined(TESTCASE)
     if (pValue)
+    {
         for (i = 0; i < *pcLen; ++i)
             if (pAtoms[i])
             {
@@ -580,6 +581,7 @@ static void clipConvertX11Targets(Widget widget, XtPointer pClientData,
             }
             else
                 LogRel2(("%s: found empty target.\n", __FUNCTION__));
+    }
 #endif
     if (pFormats)
     {
diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp b/src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp
index 7219545..5bde7d3 100644
--- a/src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp
+++ b/src/VBox/HostDrivers/Support/SUPR3HardenedMain.cpp
@@ -511,6 +511,7 @@ static uid_t            g_uid;
 static gid_t            g_gid;
 # ifdef RT_OS_LINUX
 static uint32_t         g_uCaps;
+static uint32_t         g_uCapsVersion;
 # endif
 #endif
 
@@ -1401,7 +1402,9 @@ DECLHIDDEN(void) supR3HardenedOpenLog(int *pcArgs, char **papszArgs)
                     g_hStartupLog = NULL;
             }
 #else
-            RT_NOREF(g_hStartupLog, g_cbStartupLog);
+            /* Just some mumbo jumbo to shut up the compiler. */
+            g_hStartupLog  -= 1;
+            g_cbStartupLog += 1;
             //g_hStartupLog = open()
 #endif
         }
@@ -1805,10 +1808,15 @@ static void supR3HardenedMainGrabCapabilites(void)
         prctl(PR_SET_DUMPABLE, 1 /*dump*/, 0, 0, 0);
 #  else
         cap_user_header_t hdr = (cap_user_header_t)alloca(sizeof(*hdr));
-        cap_user_data_t   cap = (cap_user_data_t)alloca(sizeof(*cap));
+        cap_user_data_t   cap = (cap_user_data_t)alloca(2 /*_LINUX_CAPABILITY_U32S_3*/ * sizeof(*cap));
         memset(hdr, 0, sizeof(*hdr));
-        hdr->version = _LINUX_CAPABILITY_VERSION;
-        memset(cap, 0, sizeof(*cap));
+        capget(hdr, NULL);
+        if (   hdr->version != 0x19980330 /* _LINUX_CAPABILITY_VERSION_1, _LINUX_CAPABILITY_U32S_1 = 1 */
+            && hdr->version != 0x20071026 /* _LINUX_CAPABILITY_VERSION_2, _LINUX_CAPABILITY_U32S_2 = 2 */
+            && hdr->version != 0x20080522 /* _LINUX_CAPABILITY_VERSION_3, _LINUX_CAPABILITY_U32S_3 = 2 */)
+            hdr->version = _LINUX_CAPABILITY_VERSION;
+        g_uCapsVersion = hdr->version;
+        memset(cap, 0, 2 /* _LINUX_CAPABILITY_U32S_3 */ * sizeof(*cap));
         cap->effective = g_uCaps;
         cap->permitted = g_uCaps;
         if (!capset(hdr, cap))
@@ -1979,10 +1987,10 @@ static void supR3HardenedMainDropPrivileges(void)
         cap_set_proc(cap_from_text("cap_net_raw+ep"));
 #  else
         cap_user_header_t hdr = (cap_user_header_t)alloca(sizeof(*hdr));
-        cap_user_data_t   cap = (cap_user_data_t)alloca(sizeof(*cap));
+        cap_user_data_t   cap = (cap_user_data_t)alloca(2 /* _LINUX_CAPABILITY_U32S_3 */ * sizeof(*cap));
         memset(hdr, 0, sizeof(*hdr));
-        hdr->version = _LINUX_CAPABILITY_VERSION;
-        memset(cap, 0, sizeof(*cap));
+        hdr->version = g_uCapsVersion;
+        memset(cap, 0, 2 /* _LINUX_CAPABILITY_U32S_3 */ * sizeof(*cap));
         cap->effective = g_uCaps;
         cap->permitted = g_uCaps;
         /** @todo Warn if that does not work? */
diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
index 0c5e7ef..5b947f5 100644
--- a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
+++ b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
@@ -1561,7 +1561,14 @@ static int supR3HardenedVerifyDirRecursive(char *pszDirPath, size_t cchDirPath,
 
         struct dirent Entry;
         struct dirent *pEntry;
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
         int iErr = readdir_r(pDir, &Entry, &pEntry);
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic pop
+#endif
         if (iErr)
         {
             rc = supR3HardenedSetErrorN(VERR_SUPLIB_DIR_ENUM_FAILED, pErrInfo,
diff --git a/src/VBox/HostDrivers/linux/load.sh b/src/VBox/HostDrivers/linux/load.sh
index 318bf0e..3d37317 100755
--- a/src/VBox/HostDrivers/linux/load.sh
+++ b/src/VBox/HostDrivers/linux/load.sh
@@ -32,7 +32,7 @@ if [ ${#} -ge 1 -a '(' "${1}" = "-h"  -o  "${1}" = "--help" ')' ]; then
 fi
 
 # Unload, but keep the udev rules.
-sudo "${MY_DIR}/vboxdrv.sh" stop_keep_udev
+sudo "${MY_DIR}/vboxdrv.sh" stop
 
 if [ -z "${OPT_UNLOAD_ONLY}" ]; then
     # Build and load.
diff --git a/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp b/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp
index 4c8244b..a574396 100644
--- a/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp
+++ b/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp
@@ -105,7 +105,8 @@ static void bufferFromPath(void *pvDest, size_t cb, const char *pcszSrc)
 
 #define ARRAY_FROM_PATH(a, b) \
     do { \
-        Assert((a) == (a)); /* Constant parameter */ \
+        void *p=(a); NOREF(p); \
+        Assert((a) == p); /* Constant parameter */ \
         Assert(sizeof((a)) > 0); \
         bufferFromPath(a, sizeof(a), b); \
     } while (0)
diff --git a/src/VBox/Installer/linux/Makefile.kmk b/src/VBox/Installer/linux/Makefile.kmk
index f2277d0..294ebb6 100644
--- a/src/VBox/Installer/linux/Makefile.kmk
+++ b/src/VBox/Installer/linux/Makefile.kmk
@@ -33,11 +33,14 @@ endif
 #
 # Globals and targets.
 #
+VBOX_LNX_APP_PRIVATE    := $(if $(VBOX_PATH_APP_PRIVATE),$(VBOX_PATH_APP_PRIVATE),/opt/VirtualBox)
+VBOX_LNX_APP_DOCS       := $(if $(VBOX_PATH_PACKAGE_DOCS),$(VBOX_PATH_PACKAGE_DOCS),\
+			     $(if $(VBOX_PATH_APP_DOCS),$(VBOX_PATH_APP_DOCS),/opt/VirtualBox))
 VBOX_PATH_LNX_INST_SRC  := $(PATH_SUB_CURRENT)
 VBOX_LNX_INST_OUT_DIR   := $(PATH_TARGET)/Installer/linux
 VBOX_LNX_INST_STAGE_DIR := $(PATH_TARGET)/Installer/linux/install
 VBOX_LNX_INST_STAGE_DIR_REL := obj/Installer/linux/install
-VBOX_LNX_DBG_PATH       := usr/lib/debug/opt/VirtualBox
+VBOX_LNX_DBG_PATH       := usr/lib/debug/$(VBOX_LNX_APP_PRIVATE)
 VBOX_LNX_PACKAGE_NAME    = VirtualBox-$(VBOX_VERSION_STRING)-r$(VBOX_SVN_REV).run
 
 # Unset this to speed up things during makefile hacking.
@@ -116,15 +119,9 @@ $$(linux-misc_0_OUTDIR)/generated.sh: $(VBOX_VERSION_STAMP) $(VBOX_LNX_INST_DEP_
 
 $$(linux-misc_0_OUTDIR)/virtualbox.desktop: $(VBOX_PATH_INST_COMMON_SRC)/virtualbox.desktop.in $(VBOX_VERSION_STAMP) | $$(dir $$@)
 	$(call MSG_GENERATE,,$@,$<)
-ifdef VBOX_PATH_PACKAGE_DOCS
-	$(QUIET)$(SED) -e "s+ at VBOX_DOC_PATH@+$(VBOX_PATH_PACKAGE_DOCS)+" \
+	$(QUIET)$(SED) -e "s+ at VBOX_DOC_PATH@+$(VBOX_LNX_APP_DOCS)+" \
 		-e "s+ at VBOX_PRODUCT@+$(VBOX_PRODUCT)+" \
 		--output $@ $<
-else
-	$(QUIET)$(SED) -e "s+ at VBOX_DOC_PATH@+/opt/VirtualBox+" \
-		-e "s+ at VBOX_PRODUCT@+$(VBOX_PRODUCT)+" \
-		--output $@ $<
-endif
 
 INSTALLS += linux-icons
 linux-icons_INST = bin/icons/
@@ -411,6 +408,7 @@ $(VBOX_LNX_INST_OUT_DIR)/install.sh: $(VBOX_PATH_LNX_INST_SRC)/install.sh $(VBOX
 		-e "s;_HARDENED_;$(VBOX_WITH_HARDENING);g" \
 		-e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
 		-e "s;_USERNAME_;$(USERNAME);g" \
+		-e "s;_INSTALLATION_DIR_;$(VBOX_LNX_APP_PRIVATE);g" \
 		-e "s;_PYTHON_;$(VBOX_WITH_PYTHON);g" \
 		--output $@ \
 		$<
diff --git a/src/VBox/Installer/linux/install.sh b/src/VBox/Installer/linux/install.sh
index 884a435..bf79deb 100755
--- a/src/VBox/Installer/linux/install.sh
+++ b/src/VBox/Installer/linux/install.sh
@@ -35,7 +35,7 @@ CONFIG="vbox.cfg"
 CONFIG_FILES="filelist"
 DEFAULT_FILES=`pwd`/deffiles
 GROUPNAME="vboxusers"
-INSTALLATION_DIR="/opt/VirtualBox"
+INSTALLATION_DIR="_INSTALLATION_DIR_"
 LICENSE_ACCEPTED=""
 PREV_INSTALLATION=""
 PYTHON="_PYTHON_"
@@ -180,7 +180,7 @@ do
                 info "Unknown command '$1'."
                 usage
             fi
-            info "Specifying an installation path is not allowed -- using /opt/VirtualBox!"
+            info "Specifying an installation path is not allowed -- using _INSTALLATION_DIR_!"
             ;;
     esac
 done
diff --git a/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec b/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
index 6bd3358..9e6cb79 100644
--- a/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ b/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
@@ -16,7 +16,7 @@
 
 %define %SPEC% 1
 %define %OSE% 1
-%define VBOXDOCDIR %{_defaultdocdir}/%NAME%-%VER%
+%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 
 Summary:   Oracle VM VirtualBox
diff --git a/src/VBox/Installer/linux/rpm/rules b/src/VBox/Installer/linux/rpm/rules
index 9911245..046b6e9 100755
--- a/src/VBox/Installer/linux/rpm/rules
+++ b/src/VBox/Installer/linux/rpm/rules
@@ -141,13 +141,7 @@ ifneq ($(STAGEDISO),)
 endif
 
 ifeq ($(wildcard /usr/share/doc/packages/bash),)
- ifeq ($(wildcard /usr/share/doc/bash),)
-  # Mandriva 2007.1, Redhat
-  doc_dir := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/$(rpmname)\""
- else
-  # Mandriva 2008.0
-  doc_dir := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/$(verpkg)\""
- endif
+ doc_dir := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/$(verpkg)\""
 else
  # Novell (OpenSUSE, SLES)
  doc_dir := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/packages/$(verpkg)\""
diff --git a/src/VBox/Installer/linux/vboxdrv.sh b/src/VBox/Installer/linux/vboxdrv.sh
index 66a3c61..7fb25d4 100755
--- a/src/VBox/Installer/linux/vboxdrv.sh
+++ b/src/VBox/Installer/linux/vboxdrv.sh
@@ -185,7 +185,7 @@ udev_rule_file=/etc/udev/rules.d/60-vboxdrv.rules
 sysfs_usb_devices="/sys/bus/usb/devices/*"
 
 ## Install udev rules and create device nodes for usb access
-install_device_node_setup() {
+setup_usb() {
     VBOXDRV_GRP="$1"      # The group that should own /dev/vboxdrv
     VBOXDRV_MODE="$2"     # The mode to be used for /dev/vboxdrv
     INSTALLATION_DIR="$3" # The directory VirtualBox is installed in
@@ -212,16 +212,19 @@ install_device_node_setup() {
     done
 }
 
+cleanup_usb()
+{
+    # Remove udev description file
+    rm -f /etc/udev/rules.d/60-vboxdrv.rules
+    rm -f /etc/udev/rules.d/10-vboxdrv.rules
+
+    # Remove our USB device tree
+    rm -rf /dev/vboxusb
+}
+
 start()
 {
     begin_msg "Starting VirtualBox services" console
-    # Create udev rule and USB device nodes.
-    ## todo Wouldn't it make more sense to install the rule to /lib/udev?  This
-    ## is not a user-created configuration file after all.
-    ## todo Do we need a udev rule to create /dev/vboxdrv[u] at all?  We have
-    ## working fall-back code here anyway, and the "right" code is more complex
-    ## than the fall-back.  Unnecessary duplication?
-    install_device_node_setup "$GROUP" "$DEVICE_MODE" "$INSTALL_DIR"
     if [ -d /proc/xen ]; then
         failure "Running VirtualBox in a Xen environment is not supported"
     fi
@@ -285,18 +288,7 @@ start()
 
 stop()
 {
-    if test ${#} -eq 0 || ! test "${1}" = "--keep-udev"; then
-        begin_msg "Stopping VirtualBox services" console
-
-        # Remove udev description file
-        rm -f /etc/udev/rules.d/60-vboxdrv.rules
-        rm -f /etc/udev/rules.d/10-vboxdrv.rules
-
-        # Remove our USB device tree
-        rm -rf /dev/vboxusb
-    else
-        begin_msg "Stopping VirtualBox services (keeping udev + usb)" console
-    fi
+    begin_msg "Stopping VirtualBox services" console
 
     if running vboxpci; then
         if ! rmmod vboxpci 2>/dev/null; then
@@ -470,19 +462,22 @@ stop)
 stop_vms)
     stop_vms
     ;;
-stop_keep_udev)
-    # This is used by src/VBox/HostDrivers/linux/load.sh.
-    stop_vms
-    stop --keep-udev
-    ;;
 restart)
     stop && start
     ;;
 setup)
+    # Create udev rule and USB device nodes.
+    ## todo Wouldn't it make more sense to install the rule to /lib/udev?  This
+    ## is not a user-created configuration file after all.
+    ## todo Do we need a udev rule to create /dev/vboxdrv[u] at all?  We have
+    ## working fall-back code here anyway, and the "right" code is more complex
+    ## than the fall-back.  Unnecessary duplication?
+    setup_usb "$GROUP" "$DEVICE_MODE" "$INSTALL_DIR"
     setup && start
     ;;
 cleanup)
     stop && cleanup
+    cleanup_usb
     ;;
 force-reload)
     stop
diff --git a/src/VBox/Main/include/DisplayImpl.h b/src/VBox/Main/include/DisplayImpl.h
index 7e204cd..9cf149c 100644
--- a/src/VBox/Main/include/DisplayImpl.h
+++ b/src/VBox/Main/include/DisplayImpl.h
@@ -186,7 +186,7 @@ public:
     void i_handleVRecCompletion();
 #endif
 
-    int i_notifyCroglResize(const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, void *pvVRAM);
+    int i_notifyCroglResize(PCVBVAINFOVIEW pView, PCVBVAINFOSCREEN pScreen, void *pvVRAM);
 
     int  i_saveVisibleRegion(uint32_t cRect, PRTRECT pRect);
     int  i_handleSetVisibleRegion(uint32_t cRect, PRTRECT pRect);
@@ -354,11 +354,11 @@ private:
     static DECLCALLBACK(void)  i_displayVBVADisable(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId);
     static DECLCALLBACK(void)  i_displayVBVAUpdateBegin(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId);
     static DECLCALLBACK(void)  i_displayVBVAUpdateProcess(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId,
-                                                          const PVBVACMDHDR pCmd, size_t cbCmd);
+                                                          PCVBVACMDHDR pCmd, size_t cbCmd);
     static DECLCALLBACK(void)  i_displayVBVAUpdateEnd(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId, int32_t x, int32_t y,
                                                       uint32_t cx, uint32_t cy);
-    static DECLCALLBACK(int)   i_displayVBVAResize(PPDMIDISPLAYCONNECTOR pInterface, const PVBVAINFOVIEW pView,
-                                                   const PVBVAINFOSCREEN pScreen, void *pvVRAM,
+    static DECLCALLBACK(int)   i_displayVBVAResize(PPDMIDISPLAYCONNECTOR pInterface, PCVBVAINFOVIEW pView,
+                                                   PCVBVAINFOSCREEN pScreen, void *pvVRAM,
                                                    bool fResetInputMapping);
     static DECLCALLBACK(int)   i_displayVBVAMousePointerShape(PPDMIDISPLAYCONNECTOR pInterface, bool fVisible, bool fAlpha,
                                                               uint32_t xHot, uint32_t yHot, uint32_t cx, uint32_t cy,
diff --git a/src/VBox/Main/include/VirtualBoxBase.h b/src/VBox/Main/include/VirtualBoxBase.h
index 526e537..fbefbac 100644
--- a/src/VBox/Main/include/VirtualBoxBase.h
+++ b/src/VBox/Main/include/VirtualBoxBase.h
@@ -67,6 +67,11 @@ typedef std::list<Utf8Str> StringsList;
 #undef DECLARE_CLASSFACTORY_SINGLETON
 #define DECLARE_CLASSFACTORY_SINGLETON(obj) DECLARE_CLASSFACTORY_EX(CMyComClassFactorySingleton<obj>)
 
+/**
+ * @todo r=bird: This CMyComClassFactorySingleton stuff is probably obsoleted by
+ *                microatl.h? Right?
+ */
+
 template <class T>
 class CMyComClassFactorySingleton : public ATL::CComClassFactory
 {
diff --git a/src/VBox/Main/include/VirtualBoxClientImpl.h b/src/VBox/Main/include/VirtualBoxClientImpl.h
index fc23f95..28423aa 100644
--- a/src/VBox/Main/include/VirtualBoxClientImpl.h
+++ b/src/VBox/Main/include/VirtualBoxClientImpl.h
@@ -47,6 +47,11 @@ public:
     HRESULT init();
     void uninit();
 
+#ifdef RT_OS_WINDOWS
+    /* HACK ALERT! Implemented in dllmain.cpp. */
+    ULONG InternalRelease();
+#endif
+
 private:
     // wrapped IVirtualBoxClient properties
     virtual HRESULT getVirtualBox(ComPtr<IVirtualBox> &aVirtualBox);
@@ -65,9 +70,19 @@ private:
 
     struct Data
     {
-        Data()
+        Data() : m_ThreadWatcher(NIL_RTTHREAD), m_SemEvWatcher(NIL_RTSEMEVENT)
         {}
 
+        ~Data()
+        {
+            /* HACK ALERT! This is for DllCanUnloadNow(). */
+            if (m_pEventSource.isNotNull())
+            {
+                s_cUnnecessaryAtlModuleLocks--;
+                AssertMsg(s_cUnnecessaryAtlModuleLocks == 0, ("%d\n", s_cUnnecessaryAtlModuleLocks));
+            }
+        }
+
         ComPtr<IVirtualBox> m_pVirtualBox;
         const ComObjPtr<EventSource> m_pEventSource;
 
@@ -76,7 +91,13 @@ private:
     };
 
     Data mData;
+
+public:
+    /** Hack for discounting the AtlModule lock held by Data::m_pEventSource during
+     * DllCanUnloadNow().  This is incremented to 1 when init() initialized
+     * m_pEventSource and is decremented by the Data destructor (above). */
+    static LONG s_cUnnecessaryAtlModuleLocks;
 };
 
-#endif // ____H_VIRTUALBOXCLIENTIMPL
+#endif
 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Main/src-client/BusAssignmentManager.cpp b/src/VBox/Main/src-client/BusAssignmentManager.cpp
index 89ef44d..eaf49a7 100644
--- a/src/VBox/Main/src-client/BusAssignmentManager.cpp
+++ b/src/VBox/Main/src-client/BusAssignmentManager.cpp
@@ -166,13 +166,6 @@ static const DeviceAssignmentRule aIch9Rules[] =
     {"lsilogicsas",   1, 29, 0,   0},
     {"lsilogicsas",   1, 30, 0,   0},
     {"lsilogicsas",   1, 31, 0,   0},
-    {"nvme",          1, 32, 0,   0},
-    {"nvme",          1, 33, 0,   0},
-    {"nvme",          1, 34, 0,   0},
-    {"nvme",          1, 35, 0,   0},
-    {"nvme",          1, 36, 0,   0},
-    {"nvme",          1, 37, 0,   0},
-    {"nvme",          1, 38, 0,   0},
 
     /* NICs */
     {"nic",           2,  0, 0,   0},
@@ -204,6 +197,15 @@ static const DeviceAssignmentRule aIch9Rules[] =
     {"nic",           2, 30, 0,   0},
     {"nic",           2, 31, 0,   0},
 
+    /* Storage controller #2 (NVMe) */
+    {"nvme",          3,  0, 0,   0},
+    {"nvme",          3,  1, 0,   0},
+    {"nvme",          3,  2, 0,   0},
+    {"nvme",          3,  3, 0,   0},
+    {"nvme",          3,  4, 0,   0},
+    {"nvme",          3,  5, 0,   0},
+    {"nvme",          3,  6, 0,   0},
+
     { NULL,          -1, -1, -1,  0}
 };
 
diff --git a/src/VBox/Main/src-client/ConsoleImpl2.cpp b/src/VBox/Main/src-client/ConsoleImpl2.cpp
index 7ad2129..24d8979 100644
--- a/src/VBox/Main/src-client/ConsoleImpl2.cpp
+++ b/src/VBox/Main/src-client/ConsoleImpl2.cpp
@@ -2339,6 +2339,19 @@ int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, AutoWriteLock *pAlock)
                     hrc = ctrls[i]->COMGETTER(PortCount)(&cPorts);                          H();
                     InsertConfigInteger(pCfg, "NamespacesMax", cPorts);
 
+                    /* For ICH9 we need to create a new PCI bridge if there is more than one NVMe instance. */
+                    if (   ulInstance > 0
+                        && chipsetType == ChipsetType_ICH9
+                        && !pBusMgr->hasPCIDevice("ich9pcibridge", 2))
+                    {
+                        PCFGMNODE pBridges = CFGMR3GetChild(pDevices, "ich9pcibridge");
+                        Assert(pBridges);
+
+                        InsertConfigNode(pBridges, "2", &pInst);
+                        InsertConfigInteger(pInst, "Trusted",              1);
+                        hrc = pBusMgr->assignPCIDevice("ich9pcibridge", pInst);
+                    }
+
                     /* Attach the status driver */
                     AssertRelease(cPorts <= cLedSata);
                     i_attachStatusDriver(pCtlInst, &mapStorageLeds[iLedNvme], 0, cPorts - 1,
diff --git a/src/VBox/Main/src-client/DisplayImpl.cpp b/src/VBox/Main/src-client/DisplayImpl.cpp
index 2883aa7..734dbda 100644
--- a/src/VBox/Main/src-client/DisplayImpl.cpp
+++ b/src/VBox/Main/src-client/DisplayImpl.cpp
@@ -838,7 +838,7 @@ int Display::i_crOglWindowsShow(bool fShow)
 // public methods only for internal purposes
 /////////////////////////////////////////////////////////////////////////////
 
-int Display::i_notifyCroglResize(const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, void *pvVRAM)
+int Display::i_notifyCroglResize(PCVBVAINFOVIEW pView, PCVBVAINFOSCREEN pScreen, void *pvVRAM)
 {
     RT_NOREF(pView);
 #if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
@@ -3875,7 +3875,7 @@ DECLCALLBACK(void) Display::i_displayVBVAUpdateBegin(PPDMIDISPLAYCONNECTOR pInte
 }
 
 DECLCALLBACK(void) Display::i_displayVBVAUpdateProcess(PPDMIDISPLAYCONNECTOR pInterface, unsigned uScreenId,
-                                                       const PVBVACMDHDR pCmd, size_t cbCmd)
+                                                       PCVBVACMDHDR pCmd, size_t cbCmd)
 {
     LogFlowFunc(("uScreenId %d pCmd %p cbCmd %d, @%d,%d %dx%d\n", uScreenId, pCmd, cbCmd, pCmd->x, pCmd->y, pCmd->w, pCmd->h));
 
@@ -3951,7 +3951,7 @@ DECLCALLBACK(void) Display::i_displayVBVAUpdateProcess(PPDMIDISPLAYCONNECTOR pIn
     pHdrUnconst->y -= (int16_t)pFBInfo->yOrigin;
 
     /** @todo new SendUpdate entry which can get a separate cmd header or coords. */
-    pThis->mParent->i_consoleVRDPServer()->SendUpdate(uScreenId, pCmd, (uint32_t)cbCmd);
+    pThis->mParent->i_consoleVRDPServer()->SendUpdate(uScreenId, pHdrUnconst, (uint32_t)cbCmd);
 
     *pHdrUnconst = hdrSaved;
 }
@@ -3974,7 +3974,7 @@ DECLCALLBACK(void) Display::i_displayVBVAUpdateEnd(PPDMIDISPLAYCONNECTOR pInterf
 }
 
 #ifdef DEBUG_sunlover
-static void logVBVAResize(const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, const DISPLAYFBINFO *pFBInfo)
+static void logVBVAResize(PCVBVAINFOVIEW pView, PCVBVAINFOSCREEN pScreen, const DISPLAYFBINFO *pFBInfo)
 {
     LogRel(("displayVBVAResize: [%d] %s\n"
             "    pView->u32ViewIndex     %d\n"
@@ -4039,8 +4039,8 @@ static void logVBVAResize(const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScre
 }
 #endif /* DEBUG_sunlover */
 
-DECLCALLBACK(int) Display::i_displayVBVAResize(PPDMIDISPLAYCONNECTOR pInterface, const PVBVAINFOVIEW pView,
-                                               const PVBVAINFOSCREEN pScreen, void *pvVRAM, bool fResetInputMapping)
+DECLCALLBACK(int) Display::i_displayVBVAResize(PPDMIDISPLAYCONNECTOR pInterface, PCVBVAINFOVIEW pView,
+                                               PCVBVAINFOSCREEN pScreen, void *pvVRAM, bool fResetInputMapping)
 {
     LogRelFlowFunc(("pScreen %p, pvVRAM %p\n", pScreen, pvVRAM));
 
diff --git a/src/VBox/Main/src-client/VirtualBoxClientImpl.cpp b/src/VBox/Main/src-client/VirtualBoxClientImpl.cpp
index 329dbab..b84687f 100644
--- a/src/VBox/Main/src-client/VirtualBoxClientImpl.cpp
+++ b/src/VBox/Main/src-client/VirtualBoxClientImpl.cpp
@@ -36,6 +36,7 @@
 /** Initialize instance counter class variable */
 uint32_t VirtualBoxClient::g_cInstances = 0;
 
+LONG VirtualBoxClient::s_cUnnecessaryAtlModuleLocks = 0;
 
 // constructor / destructor
 /////////////////////////////////////////////////////////////////////////////
@@ -104,6 +105,10 @@ HRESULT VirtualBoxClient::init()
         AssertComRCThrow(rc, setError(rc,
                                       tr("Could not initialize EventSource for VirtualBoxClient")));
 
+        /* HACK ALERT! This is for DllCanUnloadNow(). */
+        s_cUnnecessaryAtlModuleLocks++;
+        AssertMsg(s_cUnnecessaryAtlModuleLocks == 1, ("%d\n", s_cUnnecessaryAtlModuleLocks));
+
         /* Setting up the VBoxSVC watcher thread. If anything goes wrong here it
          * is not considered important enough to cause any sort of visible
          * failure. The monitoring will not be done, but that's all. */
diff --git a/src/VBox/Main/src-client/win/dllmain.cpp b/src/VBox/Main/src-client/win/dllmain.cpp
index 2b08b46..3b59fd2 100644
--- a/src/VBox/Main/src-client/win/dllmain.cpp
+++ b/src/VBox/Main/src-client/win/dllmain.cpp
@@ -74,7 +74,9 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
 STDAPI DllCanUnloadNow(void)
 {
     AssertReturn(g_pAtlComModule, S_OK);
-    return g_pAtlComModule->GetLockCount() == 0 ? S_OK : S_FALSE;
+    LONG const cLocks = g_pAtlComModule->GetLockCount();
+    Assert(cLocks >= VirtualBoxClient::s_cUnnecessaryAtlModuleLocks);
+    return cLocks <= VirtualBoxClient::s_cUnnecessaryAtlModuleLocks ? S_OK : S_FALSE;
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -114,3 +116,52 @@ STDAPI DllUnregisterServer(void)
 #endif
 }
 
+
+#ifdef RT_OS_WINDOWS
+/*
+ * HACK ALERT! Really ugly trick to make the VirtualBoxClient object go away
+ *             when nobody uses it anymore.  This is to prevent its uninit()
+ *             method from accessing IVirtualBox and similar proxy stubs after
+ *             COM has been officially shut down.
+ *
+ *             It is simply TOO LATE to destroy the client object from DllMain/detach!
+ *
+ *             This hack ASSUMES ObjectMap order.
+ *             This hack is subject to a re-instantiation race.
+ */
+ULONG VirtualBoxClient::InternalRelease()
+{
+    ULONG cRefs = VirtualBoxClientWrap::InternalRelease();
+# ifdef DEBUG_bird
+    char szMsg[64];
+    RTStrPrintf(szMsg, sizeof(szMsg), "VirtualBoxClient: cRefs=%d\n", cRefs);
+    OutputDebugStringA(szMsg);
+# endif
+# if 1 /* enable ugly hack */
+    if (cRefs == 1)
+    {
+        /* Make the factory to drop its reference. */
+        if (ObjectMap[1].pCF)
+        {
+            InternalAddRef();
+
+            CMyComClassFactorySingleton<VirtualBoxClient> *pFactory;
+            pFactory = dynamic_cast<CMyComClassFactorySingleton<VirtualBoxClient> *>(ObjectMap[1].pCF);
+            Assert(pFactory);
+            if (pFactory)
+            {
+                IUnknown *pUnknown = pFactory->m_spObj;
+                pFactory->m_spObj = NULL;
+                if (pUnknown)
+                    pUnknown->Release();
+            }
+
+            cRefs = VirtualBoxClientWrap::InternalRelease();
+        }
+    }
+# endif
+    return cRefs;
+}
+#endif
+
+
diff --git a/src/VBox/Main/src-server/MediumImpl.cpp b/src/VBox/Main/src-server/MediumImpl.cpp
index dd5393b..ec8e206 100644
--- a/src/VBox/Main/src-server/MediumImpl.cpp
+++ b/src/VBox/Main/src-server/MediumImpl.cpp
@@ -4883,7 +4883,7 @@ MediumVariant_T Medium::i_getPreferredDiffVariant()
 
     /* m->variant is const, no need to lock */
     ULONG mediumVariantFlags = (ULONG)m->variant;
-    mediumVariantFlags &= ~MediumVariant_Fixed;
+    mediumVariantFlags &= ~(MediumVariant_Fixed | MediumVariant_VmdkStreamOptimized);
     mediumVariantFlags |= MediumVariant_Diff;
     return (MediumVariant_T)mediumVariantFlags;
 }
diff --git a/src/VBox/Main/src-server/linux/HostHardwareLinux.cpp b/src/VBox/Main/src-server/linux/HostHardwareLinux.cpp
index 65dd230..29e85c6 100644
--- a/src/VBox/Main/src-server/linux/HostHardwareLinux.cpp
+++ b/src/VBox/Main/src-server/linux/HostHardwareLinux.cpp
@@ -830,8 +830,15 @@ static int readFilePathsFromDir(const char *pcszPath, DIR *pDir,
     struct dirent entry, *pResult;
     int err;
 
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
     for (err = readdir_r(pDir, &entry, &pResult); pResult;
          err = readdir_r(pDir, &entry, &pResult))
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic pop
+#endif
     {
         /* We (implicitly) require that PATH_MAX be defined */
         char szPath[PATH_MAX + 1], szRealPath[PATH_MAX + 1], *pszPath;
diff --git a/src/VBox/Main/src-server/linux/USBGetDevices.cpp b/src/VBox/Main/src-server/linux/USBGetDevices.cpp
index 307cf39..9e5d0d8 100644
--- a/src/VBox/Main/src-server/linux/USBGetDevices.cpp
+++ b/src/VBox/Main/src-server/linux/USBGetDevices.cpp
@@ -1000,8 +1000,15 @@ static int usbsysfsReadFilePathsFromDir(const char *pszPath, DIR *pDir, VECTOR_P
     struct dirent entry, *pResult;
     int err, rc;
 
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
     for (err = readdir_r(pDir, &entry, &pResult); pResult;
          err = readdir_r(pDir, &entry, &pResult))
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic pop
+#endif
     {
         char szPath[RTPATH_MAX + 1];
         char szRealPath[RTPATH_MAX + 1];
diff --git a/src/VBox/Main/webservice/Makefile.kmk b/src/VBox/Main/webservice/Makefile.kmk
index 611dff5..4d255e4 100644
--- a/src/VBox/Main/webservice/Makefile.kmk
+++ b/src/VBox/Main/webservice/Makefile.kmk
@@ -263,7 +263,9 @@ ifdef VBOX_GSOAP_INSTALLED
   	$(VBOXWEB_IDL_SRC) \
   	$(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
   ifn1of ($(KBUILD_TARGET), win)
-   $(VBOX_GSOAP_CXX_SOURCES)_CXXFLAGS = -Wno-format
+   $(VBOX_GSOAP_CXX_SOURCES)_CXXFLAGS = \
+	-Wno-format \
+	$(if $(VBOX_GCC_Wlogical-op),-Wno-error=logical-op,)
    # currently necessary when compiling against OpenSSL 1.0 due to a missing
    # typecase from 'const v3_ext_method*' to 'aka v3_ext_method*'.
    $(VBOX_GSOAP_CXX_SOURCES)_CXXFLAGS += -fpermissive
diff --git a/src/VBox/Main/xml/Settings.cpp b/src/VBox/Main/xml/Settings.cpp
index 604125b..7cd1862 100644
--- a/src/VBox/Main/xml/Settings.cpp
+++ b/src/VBox/Main/xml/Settings.cpp
@@ -3198,8 +3198,13 @@ bool MachineConfigFile::canHaveOwnMediaRegistry() const
  */
 void MachineConfigFile::importMachineXML(const xml::ElementNode &elmMachine)
 {
+    // Ideally the version should be mandatory, but since VirtualBox didn't
+    // care about it until 5.1 came with different defaults, there are OVF
+    // files created by magicians (not using VirtualBox, which always wrote it)
+    // which lack this information. Let's hope that they learn to add the
+    // version when they switch to the newer settings style/defaults of 5.1.
     if (!(elmMachine.getAttributeValue("version", m->strSettingsVersionFull)))
-        throw ConfigFileError(this, &elmMachine, N_("Required Machine/@version attribute is missing"));
+        m->strSettingsVersionFull = "1.15";
 
     LogRel(("Import settings with version \"%s\"\n", m->strSettingsVersionFull.c_str()));
 
diff --git a/src/VBox/Main/xml/VirtualBox-settings.xsd b/src/VBox/Main/xml/VirtualBox-settings.xsd
index e846b6a..f6a8e35 100644
--- a/src/VBox/Main/xml/VirtualBox-settings.xsd
+++ b/src/VBox/Main/xml/VirtualBox-settings.xsd
@@ -1427,6 +1427,7 @@
   <xsd:attribute name="lastStateChange" type="TPresentDateTimeUTC"/>
   <xsd:attribute name="aborted" type="xsd:boolean" default="false"/>
   <xsd:attribute name="currentStateModified" type="xsd:boolean" default="true"/>
+  <xsd:attribute name="version" type="xsd:string" default="1.15"/> <!-- Used for OVF files only, must not be present in normal settings files. The default corresponds to settings created by 5.0, which covers many older versions but not newer ones. -->
 </xsd:complexType>
 
 <xsd:complexType name="TSnapshot">
@@ -1463,7 +1464,7 @@
       </xsd:keyref>
     </xsd:element>
   </xsd:choice>
-  <xsd:attribute name="version" type="xsd:string"/>
+  <xsd:attribute name="version" type="xsd:string" use="required"/>
 </xsd:complexType>
 
 <!-- Root element for all VirtualBox config files -->
diff --git a/src/VBox/Runtime/r3/posix/dir-posix.cpp b/src/VBox/Runtime/r3/posix/dir-posix.cpp
index 2861873..52fad99 100644
--- a/src/VBox/Runtime/r3/posix/dir-posix.cpp
+++ b/src/VBox/Runtime/r3/posix/dir-posix.cpp
@@ -299,7 +299,14 @@ static int rtDirReadMore(PRTDIR pDir)
         if (!pDir->fDataUnread)
         {
             struct dirent *pResult = NULL;
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
             int rc = readdir_r(pDir->pDir, &pDir->Data, &pResult);
+#if RT_GNUC_PREREQ(4, 6)
+# pragma GCC diagnostic pop
+#endif
             if (rc)
             {
                 rc = RTErrConvertFromErrno(rc);
diff --git a/src/VBox/Runtime/testcase/tstRTBitOperations.cpp b/src/VBox/Runtime/testcase/tstRTBitOperations.cpp
index 2251acf..94c2eee 100644
--- a/src/VBox/Runtime/testcase/tstRTBitOperations.cpp
+++ b/src/VBox/Runtime/testcase/tstRTBitOperations.cpp
@@ -427,6 +427,22 @@ int main()
     for (i = 0; i < 32; i++)
         CHECK(ASMBitFirstSetU32(1 << i) == (unsigned)i + 1);
 
+    CHECK(ASMBitLastSetU64(UINT64_C(0)) == 0);
+    CHECK(ASMBitLastSetU64(UINT64_C(1)) == 1);
+    CHECK(ASMBitLastSetU64(UINT64_C(0x80000000)) == 32);
+    CHECK(ASMBitLastSetU64(UINT64_C(0xffffffff)) == 32);
+    CHECK(ASMBitLastSetU64(RT_BIT_64(33) | RT_BIT_64(11)) == 34);
+    for (i = 0; i < 64; i++)
+        CHECK(ASMBitLastSetU64(UINT64_C(1) << i) == (unsigned)i + 1);
+
+    CHECK(ASMBitFirstSetU64(UINT64_C(0)) == 0);
+    CHECK(ASMBitFirstSetU64(UINT64_C(1)) == 1);
+    CHECK(ASMBitFirstSetU64(UINT64_C(0x80000000)) == 32);
+    CHECK(ASMBitFirstSetU64(UINT64_C(0xffffffff)) == 1);
+    CHECK(ASMBitFirstSetU64(RT_BIT_64(33) | RT_BIT_64(11)) == 12);
+    for (i = 0; i < 64; i++)
+        CHECK(ASMBitFirstSetU64(UINT64_C(1) << i) == (unsigned)i + 1);
+
     /*
      * Special tests.
      */
diff --git a/src/VBox/Storage/VD.cpp b/src/VBox/Storage/VD.cpp
index 50e424f..058dfa9 100644
--- a/src/VBox/Storage/VD.cpp
+++ b/src/VBox/Storage/VD.cpp
@@ -7079,6 +7079,15 @@ VBOXDDU_DECL(int) VDCreateBase(PVBOXHDD pDisk, const char *pszBackend,
                          N_("VD: backend '%s' cannot create base images"), pszBackend);
             break;
         }
+        if (   (   (uImageFlags & VD_VMDK_IMAGE_FLAGS_SPLIT_2G)
+                && !(pImage->Backend->uBackendCaps & VD_CAP_CREATE_SPLIT_2G))
+            || (   (uImageFlags & VD_VMDK_IMAGE_FLAGS_STREAM_OPTIMIZED)
+                && RTStrICmp(pszBackend, "VMDK")))
+        {
+            rc =  vdError(pDisk, VERR_INVALID_PARAMETER, RT_SRC_POS,
+                          N_("VD: backend '%s' does not support the selected image variant"), pszBackend);
+            break;
+        }
 
         /* Create UUID if the caller didn't specify one. */
         if (!pUuid)
diff --git a/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp b/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp
index d28ca10..8dbbba5 100644
--- a/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp
+++ b/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp
@@ -122,7 +122,8 @@ static int dbgfR3TraceEnable(PVM pVM, uint32_t cbEntry, uint32_t cEntries)
 
     rc = RTTraceBufCarve(&hTraceBuf, cEntries, cbEntry, 0 /*fFlags*/, pvBlock, &cbBlock);
     AssertRCReturn(rc, rc);
-    AssertRelease(hTraceBuf == (RTTRACEBUF)pvBlock && (void *)hTraceBuf == pvBlock);
+    AssertRelease(hTraceBuf == (RTTRACEBUF)pvBlock);
+    AssertRelease((void *)hTraceBuf == pvBlock);
 
     pVM->hTraceBufR3 = hTraceBuf;
     pVM->hTraceBufR0 = MMHyperCCToR0(pVM, hTraceBuf);
diff --git a/src/VBox/VMM/VMMR3/IOM.cpp b/src/VBox/VMM/VMMR3/IOM.cpp
index 8666bce..2f06161 100644
--- a/src/VBox/VMM/VMMR3/IOM.cpp
+++ b/src/VBox/VMM/VMMR3/IOM.cpp
@@ -1359,18 +1359,18 @@ static DECLCALLBACK(void) iomR3IOPortInfo(PVM pVM, PCDBGFINFOHLP pHlp, const cha
  * @param   pszDesc             Pointer to description string. This must not be freed.
  */
 VMMR3_INT_DECL(int)
-IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                     R3PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback, R3PTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
                     R3PTRTYPE(PFNIOMMMIOFILL) pfnFillCallback, uint32_t fFlags, const char *pszDesc)
 {
-    LogFlow(("IOMR3MmioRegisterR3: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x fFlags=%#x pszDesc=%s\n",
+    LogFlow(("IOMR3MmioRegisterR3: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x fFlags=%#x pszDesc=%s\n",
              pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback, fFlags, pszDesc));
     int rc;
 
     /*
      * Validate input.
      */
-    AssertMsgReturn(GCPhysStart + (cbRange - 1) >= GCPhysStart,("Wrapped! %RGp %#x bytes\n", GCPhysStart, cbRange),
+    AssertMsgReturn(GCPhysStart + (cbRange - 1) >= GCPhysStart,("Wrapped! %RGp LB %RGp\n", GCPhysStart, cbRange),
                     VERR_IOM_INVALID_MMIO_RANGE);
     AssertMsgReturn(   !(fFlags & ~IOMMMIO_FLAGS_VALID_MASK)
                     && (fFlags & IOMMMIO_FLAGS_READ_MODE)  <= IOMMMIO_FLAGS_READ_DWORD_QWORD
@@ -1462,11 +1462,11 @@ IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t
  * @thread  EMT
  */
 VMMR3_INT_DECL(int)
-IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTGCPTR pvUser,
+IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTGCPTR pvUser,
                     RCPTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback, RCPTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
                     RCPTRTYPE(PFNIOMMMIOFILL) pfnFillCallback)
 {
-    LogFlow(("IOMR3MmioRegisterRC: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RGv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
+    LogFlow(("IOMR3MmioRegisterRC: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RGv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
              pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback));
     AssertReturn(!HMIsEnabled(pVM), VERR_IOM_HM_IPE);
 
@@ -1475,7 +1475,7 @@ IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t
      */
     if (!pfnWriteCallback && !pfnReadCallback)
     {
-        AssertMsgFailed(("No callbacks! %RGp LB%#x\n", GCPhysStart, cbRange));
+        AssertMsgFailed(("No callbacks! %RGp LB %RGp\n", GCPhysStart, cbRange));
         return VERR_INVALID_PARAMETER;
     }
     PVMCPU pVCpu = VMMGetCpu(pVM); Assert(pVCpu);
@@ -1521,12 +1521,12 @@ IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t
  * @thread  EMT
  */
 VMMR3_INT_DECL(int)
-IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                     R0PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
                     R0PTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
                     R0PTRTYPE(PFNIOMMMIOFILL) pfnFillCallback)
 {
-    LogFlow(("IOMR3MmioRegisterR0: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
+    LogFlow(("IOMR3MmioRegisterR0: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
              pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback));
 
     /*
@@ -1534,7 +1534,7 @@ IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t
      */
     if (!pfnWriteCallback && !pfnReadCallback)
     {
-        AssertMsgFailed(("No callbacks! %RGp LB%#x\n", GCPhysStart, cbRange));
+        AssertMsgFailed(("No callbacks! %RGp LB %RGp\n", GCPhysStart, cbRange));
         return VERR_INVALID_PARAMETER;
     }
     PVMCPU pVCpu = VMMGetCpu(pVM); Assert(pVCpu);
@@ -1575,9 +1575,9 @@ IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t
  * @remark  This function mainly for PCI PnP Config and will not do
  *          all the checks you might expect it to do.
  */
-VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange)
+VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange)
 {
-    LogFlow(("IOMR3MmioDeregister: pDevIns=%p GCPhysStart=%RGp cbRange=%#x\n", pDevIns, GCPhysStart, cbRange));
+    LogFlow(("IOMR3MmioDeregister: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp\n", pDevIns, GCPhysStart, cbRange));
 
     /*
      * Validate input.
@@ -1585,7 +1585,7 @@ VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GC
     RTGCPHYS GCPhysLast = GCPhysStart + (cbRange - 1);
     if (GCPhysLast < GCPhysStart)
     {
-        AssertMsgFailed(("Wrapped! %#x LB%#x\n", GCPhysStart, cbRange));
+        AssertMsgFailed(("Wrapped! %#x LB %RGp\n", GCPhysStart, cbRange));
         return VERR_IOM_INVALID_MMIO_RANGE;
     }
     PVMCPU pVCpu = VMMGetCpu(pVM); Assert(pVCpu);
@@ -1605,11 +1605,11 @@ VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GC
             return VERR_IOM_MMIO_RANGE_NOT_FOUND;
         }
         AssertMsgReturnStmt(pRange->pDevInsR3 == pDevIns,
-                            ("Not owner! GCPhys=%RGp %RGp LB%#x %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
+                            ("Not owner! GCPhys=%RGp %RGp LB %RGp %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
                             IOM_UNLOCK_EXCL(pVM),
                             VERR_IOM_NOT_MMIO_RANGE_OWNER);
         AssertMsgReturnStmt(pRange->Core.KeyLast <= GCPhysLast,
-                            ("Incomplete R3 range! GCPhys=%RGp %RGp LB%#x %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
+                            ("Incomplete R3 range! GCPhys=%RGp %RGp LB %RGp %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
                             IOM_UNLOCK_EXCL(pVM),
                             VERR_IOM_INCOMPLETE_MMIO_RANGE);
 
diff --git a/src/VBox/VMM/VMMR3/MM.cpp b/src/VBox/VMM/VMMR3/MM.cpp
index aeb4589..4964f38 100644
--- a/src/VBox/VMM/VMMR3/MM.cpp
+++ b/src/VBox/VMM/VMMR3/MM.cpp
@@ -417,14 +417,23 @@ VMMR3DECL(int) MMR3InitPaging(PVM pVM)
     /*
      * Setup the base ram (PGM).
      */
+    pVM->mm.s.cbRamHole = cbRamHole;
     if (cbRam > offRamHole)
     {
+        pVM->mm.s.cbRamBelow4GB = offRamHole;
         rc = PGMR3PhysRegisterRam(pVM, 0, offRamHole, "Base RAM");
         if (RT_SUCCESS(rc))
+        {
+            pVM->mm.s.cbRamAbove4GB = cbRam - offRamHole;
             rc = PGMR3PhysRegisterRam(pVM, _4G, cbRam - offRamHole, "Above 4GB Base RAM");
+        }
     }
     else
-        rc = PGMR3PhysRegisterRam(pVM, 0, RT_MIN(cbRam, offRamHole), "Base RAM");
+    {
+        pVM->mm.s.cbRamBelow4GB = cbRam;
+        pVM->mm.s.cbRamAbove4GB = 0;
+        rc = PGMR3PhysRegisterRam(pVM, 0, cbRam, "Base RAM");
+    }
 
     /*
      * Enabled mmR3UpdateReservation here since we don't want the
@@ -803,3 +812,46 @@ VMMR3DECL(uint64_t) MMR3PhysGetRamSize(PVM pVM)
     return pVM->mm.s.cbRamBase;
 }
 
+
+/**
+ * Get the size of RAM below 4GB (starts at address 0x00000000).
+ *
+ * @returns The amount of RAM below 4GB in bytes.
+ * @param   pVM         The cross context VM structure.
+ * @thread  Any.
+ */
+VMMR3DECL(uint32_t) MMR3PhysGetRamSizeBelow4GB(PVM pVM)
+{
+    VM_ASSERT_VALID_EXT_RETURN(pVM, UINT32_MAX);
+    return pVM->mm.s.cbRamBelow4GB;
+}
+
+
+/**
+ * Get the size of RAM above 4GB (starts at address 0x000100000000).
+ *
+ * @returns The amount of RAM above 4GB in bytes.
+ * @param   pVM         The cross context VM structure.
+ * @thread  Any.
+ */
+VMMR3DECL(uint64_t) MMR3PhysGetRamSizeAbove4GB(PVM pVM)
+{
+    VM_ASSERT_VALID_EXT_RETURN(pVM, UINT64_MAX);
+    return pVM->mm.s.cbRamAbove4GB;
+}
+
+
+/**
+ * Get the size of the RAM hole below 4GB.
+ *
+ * @returns Size in bytes.
+ * @param   pVM         The cross context VM structure.
+ * @thread  Any.
+ */
+VMMR3DECL(uint32_t) MMR3PhysGet4GBRamHoleSize(PVM pVM)
+{
+    VM_ASSERT_VALID_EXT_RETURN(pVM, UINT32_MAX);
+    return pVM->mm.s.cbRamHole;
+}
+
+
diff --git a/src/VBox/VMM/VMMR3/PDMDevHlp.cpp b/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
index 537bcbb..813e94f 100644
--- a/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
+++ b/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
@@ -273,14 +273,14 @@ static DECLCALLBACK(int) pdmR3DevHlp_IOPortDeregister(PPDMDEVINS pDevIns, RTIOPO
 
 
 /** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegister} */
-static DECLCALLBACK(int) pdmR3DevHlp_MMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
+static DECLCALLBACK(int) pdmR3DevHlp_MMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
                                                   PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead, PFNIOMMMIOFILL pfnFill,
                                                   uint32_t fFlags, const char *pszDesc)
 {
     PDMDEV_ASSERT_DEVINS(pDevIns);
     PVM pVM = pDevIns->Internal.s.pVMR3;
     VM_ASSERT_EMT(pVM);
-    LogFlow(("pdmR3DevHlp_MMIORegister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pfnWrite=%p pfnRead=%p pfnFill=%p fFlags=%#x pszDesc=%p:{%s}\n",
+    LogFlow(("pdmR3DevHlp_MMIORegister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pfnWrite=%p pfnRead=%p pfnFill=%p fFlags=%#x pszDesc=%p:{%s}\n",
              pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pfnWrite, pfnRead, pfnFill, pszDesc, fFlags, pszDesc));
 
     if (pDevIns->iInstance > 0)
@@ -299,13 +299,13 @@ static DECLCALLBACK(int) pdmR3DevHlp_MMIORegister(PPDMDEVINS pDevIns, RTGCPHYS G
 
 
 /** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegisterRC} */
-static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
+static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
                                                     const char *pszWrite, const char *pszRead, const char *pszFill)
 {
     PDMDEV_ASSERT_DEVINS(pDevIns);
     PVM pVM = pDevIns->Internal.s.pVMR3;
     VM_ASSERT_EMT(pVM);
-    LogFlow(("pdmR3DevHlp_MMIORegisterRC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
+    LogFlow(("pdmR3DevHlp_MMIORegisterRC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
              pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pszWrite, pszWrite, pszRead, pszRead, pszFill, pszFill));
 
 
@@ -356,12 +356,12 @@ static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS
 }
 
 /** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegisterR0} */
-static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
+static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
                                                     const char *pszWrite, const char *pszRead, const char *pszFill)
 {
     PDMDEV_ASSERT_DEVINS(pDevIns);
     VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3);
-    LogFlow(("pdmR3DevHlp_MMIORegisterHC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
+    LogFlow(("pdmR3DevHlp_MMIORegisterHC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
              pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pszWrite, pszWrite, pszRead, pszRead, pszFill, pszFill));
 
     /*
@@ -384,7 +384,8 @@ static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS
         if (pszFill)
             rc3 = pdmR3DevGetSymbolR0Lazy(pDevIns, pszFill, &pfnR0PtrFill);
         if (RT_SUCCESS(rc) && RT_SUCCESS(rc2) && RT_SUCCESS(rc3))
-            rc = IOMR3MmioRegisterR0(pDevIns->Internal.s.pVMR3, pDevIns, GCPhysStart, cbRange, pvUser, pfnR0PtrWrite, pfnR0PtrRead, pfnR0PtrFill);
+            rc = IOMR3MmioRegisterR0(pDevIns->Internal.s.pVMR3, pDevIns, GCPhysStart, cbRange, pvUser,
+                                     pfnR0PtrWrite, pfnR0PtrRead, pfnR0PtrFill);
         else
         {
             AssertMsgRC(rc,  ("Failed to resolve %s.%s (pszWrite)\n", pDevIns->pReg->szR0Mod, pszWrite));
@@ -408,11 +409,11 @@ static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS
 
 
 /** @interface_method_impl{PDMDEVHLPR3,pfnMMIODeregister} */
-static DECLCALLBACK(int) pdmR3DevHlp_MMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange)
+static DECLCALLBACK(int) pdmR3DevHlp_MMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange)
 {
     PDMDEV_ASSERT_DEVINS(pDevIns);
     VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3);
-    LogFlow(("pdmR3DevHlp_MMIODeregister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x\n",
+    LogFlow(("pdmR3DevHlp_MMIODeregister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp\n",
              pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange));
 
     int rc = IOMR3MmioDeregister(pDevIns->Internal.s.pVMR3, pDevIns, GCPhysStart, cbRange);
@@ -1245,12 +1246,13 @@ static DECLCALLBACK(int) pdmR3DevHlp_PCIRegister(PPDMDEVINS pDevIns, PPCIDEVICE
 
 
 /** @interface_method_impl{PDMDEVHLPR3,pfnPCIIORegionRegister} */
-static DECLCALLBACK(int) pdmR3DevHlp_PCIIORegionRegister(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
+static DECLCALLBACK(int) pdmR3DevHlp_PCIIORegionRegister(PPDMDEVINS pDevIns, int iRegion, RTGCPHYS cbRegion,
+                                                         PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
 {
     PDMDEV_ASSERT_DEVINS(pDevIns);
     PVM pVM = pDevIns->Internal.s.pVMR3;
     VM_ASSERT_EMT(pVM);
-    LogFlow(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: iRegion=%d cbRegion=%#x enmType=%d pfnCallback=%p\n",
+    LogFlow(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: iRegion=%d cbRegion=%RGp enmType=%d pfnCallback=%p\n",
              pDevIns->pReg->szName, pDevIns->iInstance, iRegion, cbRegion, enmType, pfnCallback));
 
     /*
@@ -1262,29 +1264,38 @@ static DECLCALLBACK(int) pdmR3DevHlp_PCIIORegionRegister(PPDMDEVINS pDevIns, int
         LogFlow(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: returns %Rrc (iRegion)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER));
         return VERR_INVALID_PARAMETER;
     }
+
     switch ((int)enmType)
     {
         case PCI_ADDRESS_SPACE_IO:
             /*
              * Sanity check: don't allow to register more than 32K of the PCI I/O space.
              */
-            AssertMsgReturn(cbRegion <= _32K,
-                            ("caller='%s'/%d: %#x\n", pDevIns->pReg->szName, pDevIns->iInstance, cbRegion),
-                            VERR_INVALID_PARAMETER);
+            AssertLogRelMsgReturn(cbRegion <= _32K,
+                                  ("caller='%s'/%d: %#x\n", pDevIns->pReg->szName, pDevIns->iInstance, cbRegion),
+                                  VERR_INVALID_PARAMETER);
             break;
 
         case PCI_ADDRESS_SPACE_MEM:
         case PCI_ADDRESS_SPACE_MEM_PREFETCH:
-        case PCI_ADDRESS_SPACE_MEM | PCI_ADDRESS_SPACE_BAR64:
-        case PCI_ADDRESS_SPACE_MEM_PREFETCH | PCI_ADDRESS_SPACE_BAR64:
             /*
-             * Sanity check: don't allow to register more than 512MB of the PCI MMIO space for
-             * now. If this limit is increased beyond 2GB, adapt the aligned check below as well!
+             * Sanity check: Don't allow to register more than 2GB of the PCI MMIO space.
+             */
+            AssertLogRelMsgReturn(cbRegion <= _2G,
+                                  ("caller='%s'/%d: %RGp\n", pDevIns->pReg->szName, pDevIns->iInstance, cbRegion),
+                                  VERR_OUT_OF_RANGE);
+            break;
+
+        case PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM:
+        case PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM_PREFETCH:
+            /*
+             * Sanity check: Don't allow to register more than 64GB of the 64-bit PCI MMIO space.
              */
-            AssertMsgReturn(cbRegion <= 512 * _1M,
-                            ("caller='%s'/%d: %#x\n", pDevIns->pReg->szName, pDevIns->iInstance, cbRegion),
-                            VERR_INVALID_PARAMETER);
+            AssertLogRelMsgReturn(cbRegion <= 64*_1G64,
+                                  ("caller='%s'/%d: %RGp\n", pDevIns->pReg->szName, pDevIns->iInstance, cbRegion),
+                                  VERR_OUT_OF_RANGE);
             break;
+
         default:
             AssertMsgFailed(("enmType=%#x is unknown\n", enmType));
             LogFlow(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: returns %Rrc (enmType)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER));
@@ -1308,20 +1319,20 @@ static DECLCALLBACK(int) pdmR3DevHlp_PCIIORegionRegister(PPDMDEVINS pDevIns, int
         /*
          * We're currently restricted to page aligned MMIO regions.
          */
-        if (    ((enmType & ~(PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM_PREFETCH)) == PCI_ADDRESS_SPACE_MEM)
-            &&  cbRegion != RT_ALIGN_32(cbRegion, PAGE_SIZE))
+        if (   ((enmType & ~(PCI_ADDRESS_SPACE_BAR64 | PCI_ADDRESS_SPACE_MEM_PREFETCH)) == PCI_ADDRESS_SPACE_MEM)
+            && cbRegion != RT_ALIGN_64(cbRegion, PAGE_SIZE))
         {
-            Log(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: aligning cbRegion %#x -> %#x\n",
-                 pDevIns->pReg->szName, pDevIns->iInstance, cbRegion, RT_ALIGN_32(cbRegion, PAGE_SIZE)));
-            cbRegion = RT_ALIGN_32(cbRegion, PAGE_SIZE);
+            Log(("pdmR3DevHlp_PCIIORegionRegister: caller='%s'/%d: aligning cbRegion %RGp -> %RGp\n",
+                 pDevIns->pReg->szName, pDevIns->iInstance, cbRegion, RT_ALIGN_64(cbRegion, PAGE_SIZE)));
+            cbRegion = RT_ALIGN_64(cbRegion, PAGE_SIZE);
         }
 
         /*
          * For registering PCI MMIO memory or PCI I/O memory, the size of the region must be a power of 2!
          */
-        int iLastSet = ASMBitLastSetU32(cbRegion);
+        int iLastSet = ASMBitLastSetU64(cbRegion);
         Assert(iLastSet > 0);
-        uint32_t cbRegionAligned = RT_BIT_32(iLastSet - 1);
+        uint64_t cbRegionAligned = RT_BIT_64(iLastSet - 1);
         if (cbRegion > cbRegionAligned)
             cbRegion = cbRegionAligned * 2; /* round up */
 
diff --git a/src/VBox/VMM/VMMR3/PGMShw.h b/src/VBox/VMM/VMMR3/PGMShw.h
index 66de465..10072a3 100644
--- a/src/VBox/VMM/VMMR3/PGMShw.h
+++ b/src/VBox/VMM/VMMR3/PGMShw.h
@@ -133,7 +133,11 @@ RT_C_DECLS_END
  */
 PGM_SHW_DECL(int, InitData)(PVM pVM, PPGMMODEDATA pModeData, bool fResolveGCAndR0)
 {
+#if PGM_SHW_TYPE != PGM_TYPE_NESTED
     Assert(pModeData->uShwType == PGM_SHW_TYPE || pModeData->uShwType == PGM_TYPE_NESTED);
+#else
+    Assert(pModeData->uShwType == PGM_SHW_TYPE);
+#endif
 
     /* Ring-3 */
     pModeData->pfnR3ShwRelocate          = PGM_SHW_NAME(Relocate);
diff --git a/src/VBox/VMM/include/IOMInternal.h b/src/VBox/VMM/include/IOMInternal.h
index 784c32b..f7d85d2 100644
--- a/src/VBox/VMM/include/IOMInternal.h
+++ b/src/VBox/VMM/include/IOMInternal.h
@@ -51,9 +51,11 @@ typedef struct IOMMMIORANGE
     /** Start physical address. */
     RTGCPHYS                    GCPhys;
     /** Size of the range. */
-    uint32_t                    cb;
+    RTGCPHYS                    cb;
     /** The reference counter. */
     uint32_t volatile           cRefs;
+    /** Flags, see IOMMMIO_FLAGS_XXX. */
+    uint32_t                    fFlags;
 
     /** Pointer to user argument - R0. */
     RTR0PTR                     pvUserR0;
@@ -66,20 +68,6 @@ typedef struct IOMMMIORANGE
     /** Pointer to fill (memset) callback function - R0. */
     R0PTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackR0;
 
-    /** Flags, see IOMMMIO_FLAGS_XXX. */ /* (Placed here for alignment reasons.) */
-    uint32_t                    fFlags;
-
-    /** Pointer to user argument - RC. */
-    RTRCPTR                     pvUserRC;
-    /** Pointer to device instance - RC. */
-    PPDMDEVINSRC                pDevInsRC;
-    /** Pointer to write callback function - RC. */
-    RCPTRTYPE(PFNIOMMMIOWRITE)  pfnWriteCallbackRC;
-    /** Pointer to read callback function - RC. */
-    RCPTRTYPE(PFNIOMMMIOREAD)   pfnReadCallbackRC;
-    /** Pointer to fill (memset) callback function - RC. */
-    RCPTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackRC;
-
     /** Pointer to user argument - R3. */
     RTR3PTR                     pvUserR3;
     /** Pointer to device instance - R3. */
@@ -93,6 +81,21 @@ typedef struct IOMMMIORANGE
 
     /** Description / Name. For easing debugging. */
     R3PTRTYPE(const char *)     pszDesc;
+
+    /** Pointer to user argument - RC. */
+    RTRCPTR                     pvUserRC;
+    /** Pointer to device instance - RC. */
+    PPDMDEVINSRC                pDevInsRC;
+    /** Pointer to write callback function - RC. */
+    RCPTRTYPE(PFNIOMMMIOWRITE)  pfnWriteCallbackRC;
+    /** Pointer to read callback function - RC. */
+    RCPTRTYPE(PFNIOMMMIOREAD)   pfnReadCallbackRC;
+    /** Pointer to fill (memset) callback function - RC. */
+    RCPTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackRC;
+#if HC_ARCH_BITS == 64
+    /** Padding structure length to multiple of 8 bytes. */
+    RTRCPTR                     RCPtrPadding;
+#endif
 } IOMMMIORANGE;
 /** Pointer to a MMIO range descriptor, R3 version. */
 typedef struct IOMMMIORANGE *PIOMMMIORANGE;
diff --git a/src/VBox/VMM/include/MMInternal.h b/src/VBox/VMM/include/MMInternal.h
index 1d693b9..ab10303 100644
--- a/src/VBox/VMM/include/MMInternal.h
+++ b/src/VBox/VMM/include/MMInternal.h
@@ -760,6 +760,12 @@ typedef struct MM
 
     /** Size of the base RAM in bytes. (The CFGM RamSize value.) */
     uint64_t                    cbRamBase;
+    /** Number of bytes of RAM above 4GB, starting at address 4GB.  */
+    uint64_t                    cbRamAbove4GB;
+    /** Size of the below 4GB RAM hole. */
+    uint32_t                    cbRamHole;
+    /** Number of bytes of RAM below 4GB, starting at address 0.  */
+    uint32_t                    cbRamBelow4GB;
     /** The number of base RAM pages that PGM has reserved (GMM).
      * @remarks Shadow ROMs will be counted twice (RAM+ROM), so it won't be 1:1 with
      *          what the guest sees. */
diff --git a/src/VBox/VMM/include/PDMInternal.h b/src/VBox/VMM/include/PDMInternal.h
index 63232b5..30f016a 100644
--- a/src/VBox/VMM/include/PDMInternal.h
+++ b/src/VBox/VMM/include/PDMInternal.h
@@ -717,7 +717,7 @@ typedef struct PDMPCIBUS
     /** @copydoc PDMPCIBUSREG::pfnRegisterMsiR3 */
     DECLR3CALLBACKMEMBER(int,       pfnRegisterMsiR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PPDMMSIREG pMsiReg));
     /** @copydoc PDMPCIBUSREG::pfnIORegionRegisterR3 */
-    DECLR3CALLBACKMEMBER(int,       pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion,
+    DECLR3CALLBACKMEMBER(int,       pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, RTGCPHYS cbRegion,
                                                            PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
     /** @copydoc PDMPCIBUSREG::pfnSetConfigCallbacksR3 */
     DECLR3CALLBACKMEMBER(void,      pfnSetConfigCallbacksR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead,
diff --git a/src/VBox/VMM/include/PGMInternal.h b/src/VBox/VMM/include/PGMInternal.h
index 3686699..9e8c7bf 100644
--- a/src/VBox/VMM/include/PGMInternal.h
+++ b/src/VBox/VMM/include/PGMInternal.h
@@ -1730,7 +1730,7 @@ typedef struct PGMMMIO2RANGE
 /** Pointer to a MMIO2 range. */
 typedef PGMMMIO2RANGE *PPGMMMIO2RANGE;
 
-/** @name Intenal MMIO2 constants.
+/** @name Internal MMIO2 constants.
  * @{ */
 /** The maximum number of MMIO2 ranges. */
 #define PGM_MMIO2_MAX_RANGES                        8
diff --git a/src/VBox/VMM/tools/Makefile.kmk b/src/VBox/VMM/tools/Makefile.kmk
index bd54622..fc80c34 100644
--- a/src/VBox/VMM/tools/Makefile.kmk
+++ b/src/VBox/VMM/tools/Makefile.kmk
@@ -44,6 +44,9 @@ VBoxVMMPreloadHardened_NAME     = VBoxVMMPreload
 #
 VBoxVMMPreload_TEMPLATE  := $(if $(VBOX_WITH_HARDENING),VBoxR3Dll,VBOXR3EXE)
 VBoxVMMPreload_SOURCES    = VBoxVMMPreload.cpp
+VBoxVMMPreload_DEFS       = \
+	$(if $(VBOX_WITH_NEW_APIC),VBOX_WITH_NEW_APIC,) \
+	$(if $(VBOX_WITH_NEW_IOAPIC),VBOX_WITH_NEW_IOAPIC,)
 VBoxVMMPreload_LIBS = $(LIB_RUNTIME)
 ifdef VBOX_WITH_HARDENING
  VBoxVMMPreload_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxVMMPreload.dylib
diff --git a/src/VBox/VMM/tools/VBoxVMMPreload.cpp b/src/VBox/VMM/tools/VBoxVMMPreload.cpp
index 73ef969..c8a9172 100644
--- a/src/VBox/VMM/tools/VBoxVMMPreload.cpp
+++ b/src/VBox/VMM/tools/VBoxVMMPreload.cpp
@@ -47,7 +47,9 @@ static struct
 {
     { "VMMR0.r0",       true,  NULL },
     { "VBoxDDR0.r0",    true,  NULL },
+#if !defined(VBOX_WITH_NEW_APIC) || !defined(VBOX_WITH_NEW_IOAPIC)
     { "VBoxDD2R0.r0",   true,  NULL },
+#endif
 };
 
 static uint32_t     g_cVerbose = 1;
diff --git a/src/VBox/ValidationKit/bootsectors/bs3kit/VBoxBs3ObjConverter.cpp b/src/VBox/ValidationKit/bootsectors/bs3kit/VBoxBs3ObjConverter.cpp
index 3096cdd..27913fe 100644
--- a/src/VBox/ValidationKit/bootsectors/bs3kit/VBoxBs3ObjConverter.cpp
+++ b/src/VBox/ValidationKit/bootsectors/bs3kit/VBoxBs3ObjConverter.cpp
@@ -2238,7 +2238,7 @@ static bool convertCoffSectionsToSegDefsAndGrpDefs(POMFWRITER pThis, PCIMAGE_SEC
      */
     /** @todo do we need to consider missing segments and ordering? */
     uint16_t cGrpNms = 0;
-    uint16_t aiGrpNms[2];
+    uint16_t aiGrpNms[2] = { 0, 0 }; /* Shut up, GCC. */
     if (fHaveData)
         aiGrpNms[cGrpNms++] = idxGrpData;
     for (uint32_t iGrpNm = 0; iGrpNm < cGrpNms; iGrpNm++)
@@ -3215,7 +3215,7 @@ static bool convertMachoSectionsToSegDefsAndGrpDefs(POMFWRITER pThis, PCMACHODET
      */
     /** @todo do we need to consider missing segments and ordering? */
     uint16_t cGrpNms = 0;
-    uint16_t aiGrpNms[2];
+    uint16_t aiGrpNms[2] = { 0, 0 }; /* Shut up, GCC. */
     if (fHaveData)
         aiGrpNms[cGrpNms++] = idxGrpData;
     for (uint32_t iGrpNm = 0; iGrpNm < cGrpNms; iGrpNm++)
@@ -5045,7 +5045,7 @@ int main(int argc, char **argv)
                         break;
 
                     case 'V':
-                        printf("%s\n", "$Revision: 110010 $");
+                        printf("%s\n", "$Revision: 110255 $");
                         return 0;
 
                     case '?':
diff --git a/src/libs/kStuff/kStuff/include/k/kDefs.h b/src/libs/kStuff/kStuff/include/k/kDefs.h
index 9c5a974..f805cc3 100644
--- a/src/libs/kStuff/kStuff/include/k/kDefs.h
+++ b/src/libs/kStuff/kStuff/include/k/kDefs.h
@@ -1,4 +1,4 @@
-/* $Id: kDefs.h 79 2016-07-27 14:25:09Z bird $ */
+/* $Id: kDefs.h 84 2016-09-04 13:54:11Z bird $ */
 /** @file
  * kTypes - Defines and Macros.
  */
@@ -380,7 +380,7 @@
 # if defined(__GNUC__)
 #  define K_INLINE              static __inline__
 # elif defined(_MSC_VER)
-#  define K_INLINE              static _Inline
+#  define K_INLINE              static __inline
 # else
 #  error "Port Me"
 # endif
diff --git a/src/libs/kStuff/kStuff/include/k/kLdr.h b/src/libs/kStuff/kStuff/include/k/kLdr.h
index 736f335..1c37943 100644
--- a/src/libs/kStuff/kStuff/include/k/kLdr.h
+++ b/src/libs/kStuff/kStuff/include/k/kLdr.h
@@ -1,4 +1,4 @@
-/* $Id: kLdr.h 58 2013-10-12 20:18:21Z bird $ */
+/* $Id: kLdr.h 81 2016-08-18 22:10:38Z bird $ */
 /** @file
  * kLdr - The Dynamic Loader.
  */
@@ -636,13 +636,8 @@ int     kLdrModMostlyDone(PKLDRMOD pMod);
  * @{ */
 int     kLdrModMap(PKLDRMOD pMod);
 int     kLdrModUnmap(PKLDRMOD pMod);
-int     kLdrModAllocTLS(PKLDRMOD pMod);
-void    kLdrModFreeTLS(PKLDRMOD pMod);
 int     kLdrModReload(PKLDRMOD pMod);
 int     kLdrModFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
-int     kLdrModCallInit(PKLDRMOD pMod, KUPTR uHandle);
-int     kLdrModCallTerm(PKLDRMOD pMod, KUPTR uHandle);
-int     kLdrModCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching);
 /** @} */
 
 /** @name Operations On The Externally Managed Mappings
@@ -653,6 +648,19 @@ int     kLdrModRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress
                             PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
 /** @} */
 
+/** @name Operations on both internally and externally managed mappings.
+ * @{ */
+/** Special pvMapping value to pass to kLdrModAllocTLS,
+ * kLdrModFreeTLS, kLdrModCallInit, kLdrModCallTerm, and kLdrModCallThread that
+ * specifies the internal mapping (kLdrModMap). */
+#define KLDRMOD_INT_MAP    ((void *)~(KUPTR)0)
+int     kLdrModAllocTLS(PKLDRMOD pMod, void *pvMapping);
+void    kLdrModFreeTLS(PKLDRMOD pMod, void *pvMapping);
+int     kLdrModCallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle);
+int     kLdrModCallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle);
+int     kLdrModCallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching);
+/** @} */
+
 
 /**
  * The loader module operation.
@@ -725,19 +733,19 @@ typedef struct KLDRMODOPS
     /** @copydoc kLdrModUnmap */
     int (* pfnUnmap)(PKLDRMOD pMod);
     /** @copydoc kLdrModAllocTLS */
-    int (* pfnAllocTLS)(PKLDRMOD pMod);
+    int (* pfnAllocTLS)(PKLDRMOD pMod, void *pvMapping);
     /** @copydoc kLdrModFreeTLS */
-    void (*pfnFreeTLS)(PKLDRMOD pMod);
+    void (*pfnFreeTLS)(PKLDRMOD pMod, void *pvMapping);
     /** @copydoc kLdrModReload */
     int (* pfnReload)(PKLDRMOD pMod);
     /** @copydoc kLdrModFixupMapping */
     int (* pfnFixupMapping)(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
     /** @copydoc kLdrModCallInit */
-    int (* pfnCallInit)(PKLDRMOD pMod, KUPTR uHandle);
+    int (* pfnCallInit)(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle);
     /** @copydoc kLdrModCallTerm */
-    int (* pfnCallTerm)(PKLDRMOD pMod, KUPTR uHandle);
+    int (* pfnCallTerm)(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle);
     /** @copydoc kLdrModCallThread */
-    int (* pfnCallThread)(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching);
+    int (* pfnCallThread)(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching);
     /** @copydoc kLdrModSize */
     KLDRADDR (* pfnSize)(PKLDRMOD pMod);
     /** @copydoc kLdrModGetBits */
diff --git a/src/libs/kStuff/kStuff/include/k/kLdrFmts/pe.h b/src/libs/kStuff/kStuff/include/k/kLdrFmts/pe.h
index e8432b9..3523226 100644
--- a/src/libs/kStuff/kStuff/include/k/kLdrFmts/pe.h
+++ b/src/libs/kStuff/kStuff/include/k/kLdrFmts/pe.h
@@ -1,4 +1,4 @@
-/* $Id: pe.h 31 2009-07-01 21:08:06Z bird $ */
+/* $Id: pe.h 82 2016-08-22 21:01:51Z bird $ */
 /** @file
  * PE structures, types and defines.
  */
@@ -374,7 +374,7 @@ typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR;
 typedef struct _IMAGE_IMPORT_BY_NAME
 {
     KU16      Hint;
-    KU8      Name[1];
+    KU8       Name[1];
 } IMAGE_IMPORT_BY_NAME;
 typedef IMAGE_IMPORT_BY_NAME *PIMAGE_IMPORT_BY_NAME;
 
diff --git a/src/libs/kStuff/kStuff/kHlp/Bare/kHlpBareAssert.c b/src/libs/kStuff/kStuff/kHlp/Bare/kHlpBareAssert.c
index 73bae5b..138e73e 100644
--- a/src/libs/kStuff/kStuff/kHlp/Bare/kHlpBareAssert.c
+++ b/src/libs/kStuff/kStuff/kHlp/Bare/kHlpBareAssert.c
@@ -1,4 +1,4 @@
-/* $Id: kHlpBareAssert.c 29 2009-07-01 20:30:29Z bird $ */
+/* $Id: kHlpBareAssert.c 82 2016-08-22 21:01:51Z bird $ */
 /** @file
  * kHlpBare - Assert Backend.
  */
@@ -81,15 +81,15 @@ static void kHlpAssertWrite(const char *pszMsg)
     {
         cbWritten = pszNl - pszMsg;
 
-#if K_OS == K_OS_OS2
+# if K_OS == K_OS_OS2
         if (cbWritten)
             DosWrite((HFILE)2, pszMsg, cbWritten, &cbWritten);
         DosWrite((HFILE)2, "\r\n", 2, &cbWritten);
-#else /* K_OS == K_OS_WINDOWS */
+# else /* K_OS == K_OS_WINDOWS */
         if (cbWritten)
             WriteFile((HANDLE)STD_ERROR_HANDLE, pszMsg, cbWritten, &cbWritten, NULL);
         WriteFile((HANDLE)STD_ERROR_HANDLE, "\r\n", 2, &cbWritten, NULL);
-#endif
+# endif
 
         /* next */
         pszMsg = pszNl + 1;
@@ -102,11 +102,11 @@ static void kHlpAssertWrite(const char *pszMsg)
     if (*pszMsg)
     {
         cbWritten = kHlpStrLen(pszMsg);
-#if K_OS == K_OS_OS2
+# if K_OS == K_OS_OS2
         DosWrite((HFILE)2, pszMsg, cbWritten, &cbWritten);
-#else /* K_OS == K_OS_WINDOWS */
+# else /* K_OS == K_OS_WINDOWS */
         WriteFile((HANDLE)STD_ERROR_HANDLE, pszMsg, cbWritten, &cbWritten, NULL);
-#endif
+# endif
     }
 
 #else
diff --git a/src/libs/kStuff/kStuff/kHlp/Generic/kHlpGetFilename.c b/src/libs/kStuff/kStuff/kHlp/Generic/kHlpGetFilename.c
index 43e0610..c04293e 100644
--- a/src/libs/kStuff/kStuff/kHlp/Generic/kHlpGetFilename.c
+++ b/src/libs/kStuff/kStuff/kHlp/Generic/kHlpGetFilename.c
@@ -1,10 +1,10 @@
-/* $Id: kHlpGetFilename.c 29 2009-07-01 20:30:29Z bird $ */
+/* $Id: kHlpGetFilename.c 85 2016-09-06 03:21:04Z bird $ */
 /** @file
  * kHlpPath - kHlpGetFilename.
  */
 
 /*
- * Copyright (c) 2006-2007 Knut St. Osmundsen <bird-kStuff-spamix at anduin.net>
+ * Copyright (c) 2006-2016 Knut St. Osmundsen <bird-kStuff-spamix at anduin.net>
  *
  * Permission is hereby granted, free of charge, to any person
  * obtaining a copy of this software and associated documentation
@@ -44,7 +44,7 @@
  */
 KHLP_DECL(char *) kHlpGetFilename(const char *pszFilename)
 {
-    const char *pszLast = NULL;
+    const char *pszLast = pszFilename;
     for (;;)
     {
         char ch = *pszFilename;
@@ -63,9 +63,10 @@ KHLP_DECL(char *) kHlpGetFilename(const char *pszFilename)
             pszLast = pszFilename;
         }
 #endif
-        if (!ch)
-            return (char *)(pszLast ? pszLast : pszFilename);
-        pszFilename++;
+        if (ch)
+            pszFilename++;
+        else
+            return (char *)pszLast;
     }
 }
 
diff --git a/src/libs/kStuff/kStuff/kHlp/Generic/kHlpStrPCopy.c b/src/libs/kStuff/kStuff/kHlp/Generic/kHlpStrPCopy.c
index 57d062b..821258c 100644
--- a/src/libs/kStuff/kStuff/kHlp/Generic/kHlpStrPCopy.c
+++ b/src/libs/kStuff/kStuff/kHlp/Generic/kHlpStrPCopy.c
@@ -1,4 +1,4 @@
-/* $Id: kHlpStrPCopy.c 29 2009-07-01 20:30:29Z bird $ */
+/* $Id: kHlpStrPCopy.c 83 2016-08-30 18:38:12Z bird $ */
 /** @file
  * kHlpString - kHlpStrPCopy.
  */
@@ -38,7 +38,7 @@ KHLP_DECL(char *) kHlpStrPCopy(char *pszDst, const char *pszSrc)
 {
     char ch;
     do
-        *pszDst++ = ch = *pszSrc;
+        *pszDst++ = ch = *pszSrc++;
     while (ch);
     return pszDst - 1;
 }
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrDyldMod.c b/src/libs/kStuff/kStuff/kLdr/kLdrDyldMod.c
index b8ebcfc..b25f6fc 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrDyldMod.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrDyldMod.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrDyldMod.c 33 2009-07-01 21:22:37Z bird $ */
+/* $Id: kLdrDyldMod.c 81 2016-08-18 22:10:38Z bird $ */
 /** @file
  * kLdr - The Dynamic Loader, Dyld module methods.
  */
@@ -255,7 +255,7 @@ void kldrDyldModDestroy(PKLDRDYLDMOD pMod)
      */
     if (pMod->fAllocatedTLS)
     {
-        kLdrModFreeTLS(pMod->pMod);
+        kLdrModFreeTLS(pMod->pMod, KLDRMOD_INT_MAP);
         pMod->fAllocatedTLS = 0;
     }
     if (pMod->fMapped)
@@ -819,7 +819,7 @@ int kldrDyldModMap(PKLDRDYLDMOD pMod)
     rc = kLdrModMap(pMod->pMod);
     if (!rc)
     {
-        rc = kLdrModAllocTLS(pMod->pMod);
+        rc = kLdrModAllocTLS(pMod->pMod, KLDRMOD_INT_MAP);
         if (!rc)
         {
             /** @todo TLS */
@@ -860,7 +860,7 @@ int kldrDyldModUnmap(PKLDRDYLDMOD pMod)
     /* do the job. */
     if (pMod->fAllocatedTLS)
     {
-        kLdrModFreeTLS(pMod->pMod);
+        kLdrModFreeTLS(pMod->pMod, KLDRMOD_INT_MAP);
         pMod->fAllocatedTLS = 0;
     }
     rc = kLdrModUnmap(pMod->pMod);
@@ -910,7 +910,7 @@ int kldrDyldModReload(PKLDRDYLDMOD pMod)
     /* Free TLS before reloading. */
     if (pMod->fAllocatedTLS)
     {
-        kLdrModFreeTLS(pMod->pMod);
+        kLdrModFreeTLS(pMod->pMod, KLDRMOD_INT_MAP);
         pMod->fAllocatedTLS = 0;
     }
 
@@ -918,7 +918,7 @@ int kldrDyldModReload(PKLDRDYLDMOD pMod)
     rc = kLdrModReload(pMod->pMod);
     if (!rc)
     {
-        rc = kLdrModAllocTLS(pMod->pMod);
+        rc = kLdrModAllocTLS(pMod->pMod, KLDRMOD_INT_MAP);
         if (!rc)
         {
             pMod->fAllocatedTLS = 1;
@@ -1059,7 +1059,7 @@ int kldrDyldModCallInit(PKLDRDYLDMOD pMod)
     KLDRDYLDMOD_ASSERT(!pMod->fInitList);
 
     pMod->enmState = KLDRSTATE_INITIALIZING;
-    rc = kLdrModCallInit(pMod->pMod, (KUPTR)pMod->hMod);
+    rc = kLdrModCallInit(pMod->pMod, KLDRMOD_INT_MAP, (KUPTR)pMod->hMod);
     if (!rc)
     {
         pMod->enmState = KLDRSTATE_GOOD;
@@ -1091,7 +1091,7 @@ void kldrDyldModCallTerm(PKLDRDYLDMOD pMod)
     KLDRDYLDMOD_ASSERT(pMod->enmState == KLDRSTATE_PENDING_TERMINATION);
 
     pMod->enmState = KLDRSTATE_TERMINATING;
-    kLdrModCallTerm(pMod->pMod, (KUPTR)pMod->hMod);
+    kLdrModCallTerm(pMod->pMod, KLDRMOD_INT_MAP, (KUPTR)pMod->hMod);
     pMod->enmState = KLDRSTATE_PENDING_GC;
     /* unlinking on destruction. */
 }
@@ -1107,7 +1107,7 @@ int kldrDyldModAttachThread(PKLDRDYLDMOD pMod)
 {
     KLDRDYLDMOD_ASSERT(pMod->enmState == KLDRSTATE_GOOD);
 
-    return kLdrModCallThread(pMod->pMod, (KUPTR)pMod->hMod, 1 /* attach */);
+    return kLdrModCallThread(pMod->pMod, KLDRMOD_INT_MAP, (KUPTR)pMod->hMod, 1 /* attach */);
 }
 
 
@@ -1121,7 +1121,7 @@ void kldrDyldModDetachThread(PKLDRDYLDMOD pMod)
 {
     KLDRDYLDMOD_ASSERT(pMod->enmState == KLDRSTATE_GOOD);
 
-    kLdrModCallThread(pMod->pMod, (KUPTR)pMod->hMod, 0 /* detach */);
+    kLdrModCallThread(pMod->pMod, KLDRMOD_INT_MAP, (KUPTR)pMod->hMod, 0 /* detach */);
 }
 
 
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrMod.c b/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
index aeb9b08..5c11260 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrMod.c 79 2016-07-27 14:25:09Z bird $ */
+/* $Id: kLdrMod.c 81 2016-08-18 22:10:38Z bird $ */
 /** @file
  * kLdr - The Module Interpreter.
  */
@@ -735,173 +735,180 @@ int     kLdrModUnmap(PKLDRMOD pMod)
 
 
 /**
- * Allocates Thread Local Storage for module mapped by kLdrModMap().
+ * Reloads all dirty pages in a module previously mapped by kLdrModMap().
  *
- * Calling kLdrModAllocTLS() more than once without calling kLdrModFreeTLS()
- * between each invocation is not supported.
+ * The module interpreter may omit code pages if it can safely apply code
+ * fixups again in a subsequent kLdrModFixupMapping() call.
+ *
+ * The caller is responsible for freeing TLS before calling this function.
  *
  * @returns 0 on success, non-zero OS or kLdr status code on failure.
  * @param   pMod            The module.
  */
-int     kLdrModAllocTLS(PKLDRMOD pMod)
+int     kLdrModReload(PKLDRMOD pMod)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnAllocTLS(pMod);
+    return pMod->pOps->pfnReload(pMod);
 }
 
 
 /**
- * Frees Thread Local Storage previously allocated by kLdrModAllocTLS().
+ * Fixup the mapping made by kLdrModMap().
  *
- * The caller is responsible for only calling kLdrModFreeTLS() once
- * after calling kLdrModAllocTLS().
+ * The caller is only responsible for not calling this function more than
+ * once without doing kLDrModReload() inbetween.
  *
  * @returns 0 on success, non-zero OS or kLdr status code on failure.
  * @param   pMod            The module.
+ * @param   pfnGetImport    The callback for resolving external (imported) symbols.
+ * @param   pvUser          The callback user argument.
  */
-void    kLdrModFreeTLS(PKLDRMOD pMod)
+int     kLdrModFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
 {
-    KLDRMOD_VALIDATE_VOID(pMod);
-    pMod->pOps->pfnFreeTLS(pMod);
+    KLDRMOD_VALIDATE(pMod);
+    return pMod->pOps->pfnFixupMapping(pMod, pfnGetImport, pvUser);
 }
 
 
 /**
- * Reloads all dirty pages in a module previously mapped by kLdrModMap().
- *
- * The module interpreter may omit code pages if it can safely apply code
- * fixups again in a subsequent kLdrModFixupMapping() call.
- *
- * The caller is responsible for freeing TLS before calling this function.
+ * Get the size of the mapped module.
  *
- * @returns 0 on success, non-zero OS or kLdr status code on failure.
+ * @returns The size of the mapped module (in bytes).
  * @param   pMod            The module.
  */
-int     kLdrModReload(PKLDRMOD pMod)
+KLDRADDR kLdrModSize(PKLDRMOD pMod)
 {
-    KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnReload(pMod);
+    KLDRMOD_VALIDATE_EX(pMod, 0);
+    return pMod->pOps->pfnSize(pMod);
 }
 
 
 /**
- * Fixup the mapping made by kLdrModMap().
+ * Gets the module bits.
  *
- * The caller is only responsible for not calling this function more than
- * once without doing kLDrModReload() inbetween.
+ * The module interpreter will fill a mapping allocated by the caller with the
+ * module bits reallocated to the specified address.
  *
- * @returns 0 on success, non-zero OS or kLdr status code on failure.
+ * @returns 0 on succes, non-zero OS or kLdr status code on failure.
  * @param   pMod            The module.
- * @param   pfnGetImport    The callback for resolving external (imported) symbols.
+ * @param   pvBits          Where to put the bits.
+ * @param   BaseAddress     The base address that should correspond to the first byte in pvBits
+ *                          upon return.
+ * @param   pfnGetImport    The callback ufor resolving external (imported) symbols.
  * @param   pvUser          The callback user argument.
  */
-int     kLdrModFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
+int     kLdrModGetBits(PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnFixupMapping(pMod, pfnGetImport, pvUser);
+    return pMod->pOps->pfnGetBits(pMod, pvBits, BaseAddress, pfnGetImport, pvUser);
 }
 
 
 /**
- * Call the module initializiation function of a mapped module (if any).
+ * Relocates the module bits previously obtained by kLdrModGetBits().
  *
- * @returns 0 on success or no init function, non-zero on init function failure or invalid pMod.
+ * @returns 0 on succes, non-zero OS or kLdr status code on failure.
  * @param   pMod            The module.
- * @param   uHandle         The module handle to use if any of the init functions requires the module handle.
+ * @param   pvBits          Where to put the bits.
+ * @param   NewBaseAddress  The new base address.
+ * @param   OldBaseAddress  The old base address (i.e. the one specified to kLdrModGetBits() or as
+ *                          NewBaseAddressto the previous kLdrModRelocateBits() call).
+ * @param   pfnGetImport    The callback ufor resolving external (imported) symbols.
+ * @param   pvUser          The callback user argument.
  */
-int     kLdrModCallInit(PKLDRMOD pMod, KUPTR uHandle)
+int     kLdrModRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress,
+                            PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnCallInit(pMod, uHandle);
+    return pMod->pOps->pfnRelocateBits(pMod, pvBits, NewBaseAddress, OldBaseAddress, pfnGetImport, pvUser);
 }
 
 
 /**
- * Call the module termination function of a mapped module (if any).
+ * Allocates Thread Local Storage for module mapped by kLdrModMap().
  *
- * @returns 0 on success or no term function, non-zero on invalid pMod.
- * @param   pMod            The module.
- * @param   uHandle         The module handle to use if any of the term functions requires the module handle.
+ * Calling kLdrModAllocTLS() more than once without calling kLdrModFreeTLS()
+ * between each invocation is not supported.
  *
- * @remark  Termination function failure will be ignored by the module interpreter.
+ * @returns 0 on success, non-zero OS or kLdr status code on failure.
+ * @param   pMod            The module.
+ * @param   pvMapping       The external mapping address or RTLDRMOD_INT_MAP.
  */
-int     kLdrModCallTerm(PKLDRMOD pMod, KUPTR uHandle)
+int     kLdrModAllocTLS(PKLDRMOD pMod, void *pvMapping)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnCallTerm(pMod, uHandle);
+    return pMod->pOps->pfnAllocTLS(pMod, pvMapping);
 }
 
 
 /**
- * Call the thread attach or detach function of a mapped module (if any).
+ * Frees Thread Local Storage previously allocated by kLdrModAllocTLS().
  *
- * Any per-thread TLS initialization/termination will have to be done at this time too.
+ * The caller is responsible for only calling kLdrModFreeTLS() once
+ * after calling kLdrModAllocTLS().
  *
- * @returns 0 on success or no attach/detach function, non-zero on attach failure or invalid pMod.
+ * @returns 0 on success, non-zero OS or kLdr status code on failure.
  * @param   pMod            The module.
- * @param   uHandle         The module handle to use if any of the thread attach/detach functions
- *                          requires the module handle.
- *
- * @remark  Detach function failure will be ignored by the module interpreter.
+ * @param   pvMapping       The external mapping address or RTLDRMOD_INT_MAP.
  */
-int     kLdrModCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
+void    kLdrModFreeTLS(PKLDRMOD pMod, void *pvMapping)
 {
-    KLDRMOD_VALIDATE(pMod);
-    K_VALIDATE_FLAGS(fAttachingOrDetaching, 1);
-    return pMod->pOps->pfnCallThread(pMod, uHandle, fAttachingOrDetaching);
+    KLDRMOD_VALIDATE_VOID(pMod);
+    pMod->pOps->pfnFreeTLS(pMod, pvMapping);
 }
 
 
+
+
 /**
- * Get the size of the mapped module.
+ * Call the module initializiation function of a mapped module (if any).
  *
- * @returns The size of the mapped module (in bytes).
+ * @returns 0 on success or no init function, non-zero on init function failure or invalid pMod.
  * @param   pMod            The module.
+ * @param   pvMapping       The external mapping address or RTLDRMOD_INT_MAP.
+ * @param   uHandle         The module handle to use if any of the init functions requires the module handle.
  */
-KLDRADDR kLdrModSize(PKLDRMOD pMod)
+int     kLdrModCallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
-    KLDRMOD_VALIDATE_EX(pMod, 0);
-    return pMod->pOps->pfnSize(pMod);
+    KLDRMOD_VALIDATE(pMod);
+    return pMod->pOps->pfnCallInit(pMod, pvMapping, uHandle);
 }
 
 
 /**
- * Gets the module bits.
- *
- * The module interpreter will fill a mapping allocated by the caller with the
- * module bits reallocated to the specified address.
+ * Call the module termination function of a mapped module (if any).
  *
- * @returns 0 on succes, non-zero OS or kLdr status code on failure.
+ * @returns 0 on success or no term function, non-zero on invalid pMod.
  * @param   pMod            The module.
- * @param   pvBits          Where to put the bits.
- * @param   BaseAddress     The base address that should correspond to the first byte in pvBits
- *                          upon return.
- * @param   pfnGetImport    The callback ufor resolving external (imported) symbols.
- * @param   pvUser          The callback user argument.
+ * @param   pvMapping       The external mapping address or RTLDRMOD_INT_MAP.
+ * @param   uHandle         The module handle to use if any of the term functions requires the module handle.
+ *
+ * @remark  Termination function failure will be ignored by the module interpreter.
  */
-int     kLdrModGetBits(PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
+int     kLdrModCallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnGetBits(pMod, pvBits, BaseAddress, pfnGetImport, pvUser);
+    return pMod->pOps->pfnCallTerm(pMod, pvMapping, uHandle);
 }
 
 
 /**
- * Relocates the module bits previously obtained by kLdrModGetBits().
+ * Call the thread attach or detach function of a mapped module (if any).
  *
- * @returns 0 on succes, non-zero OS or kLdr status code on failure.
+ * Any per-thread TLS initialization/termination will have to be done at this time too.
+ *
+ * @returns 0 on success or no attach/detach function, non-zero on attach failure or invalid pMod.
  * @param   pMod            The module.
- * @param   pvBits          Where to put the bits.
- * @param   NewBaseAddress  The new base address.
- * @param   OldBaseAddress  The old base address (i.e. the one specified to kLdrModGetBits() or as
- *                          NewBaseAddressto the previous kLdrModRelocateBits() call).
- * @param   pfnGetImport    The callback ufor resolving external (imported) symbols.
- * @param   pvUser          The callback user argument.
+ * @param   pvMapping       The external mapping address or RTLDRMOD_INT_MAP.
+ * @param   uHandle         The module handle to use if any of the thread attach/detach functions
+ *                          requires the module handle.
+ *
+ * @remark  Detach function failure will be ignored by the module interpreter.
  */
-int     kLdrModRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress,
-                            PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
+int     kLdrModCallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching)
 {
     KLDRMOD_VALIDATE(pMod);
-    return pMod->pOps->pfnRelocateBits(pMod, pvBits, NewBaseAddress, OldBaseAddress, pfnGetImport, pvUser);
+    K_VALIDATE_FLAGS(fAttachingOrDetaching, 1);
+    return pMod->pOps->pfnCallThread(pMod, pvMapping, uHandle, fAttachingOrDetaching);
 }
 
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrModLX.c b/src/libs/kStuff/kStuff/kLdr/kLdrModLX.c
index 25e7e3d..8af1421 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrModLX.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrModLX.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrModLX.c 80 2016-08-06 20:38:28Z bird $ */
+/* $Id: kLdrModLX.c 87 2016-09-07 13:09:12Z bird $ */
 /** @file
  * kLdr - The Module Interpreter for the Linear eXecutable (LX) Format.
  */
@@ -118,16 +118,16 @@ static int kldrModLXHasDbgInfo(PKLDRMOD pMod, const void *pvBits);
 static int kldrModLXRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress,
                                  PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
 static int kldrModLXDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX);
-static const KU8 *kldrModLXDoNameTableLookupByOrdinal(const KU8 *pbNameTable, KI32 cbNameTable, KU32 iOrdinal);
-static int kldrModLXDoNameLookup(PKLDRMODLX pModLX, const char *pchSymbol, KU32 cchSymbol, KU32 *piSymbol);
-static const KU8 *kldrModLXDoNameTableLookupByName(const KU8 *pbNameTable, KI32 cbNameTable,
+static const KU8 *kldrModLXDoNameTableLookupByOrdinal(const KU8 *pbNameTable, KSSIZE cbNameTable, KU32 iOrdinal);
+static int kldrModLXDoNameLookup(PKLDRMODLX pModLX, const char *pchSymbol, KSIZE cchSymbol, KU32 *piSymbol);
+static const KU8 *kldrModLXDoNameTableLookupByName(const KU8 *pbNameTable, KSSIZE cbNameTable,
                                                        const char *pchSymbol, KSIZE cchSymbol);
 static int kldrModLXDoLoadBits(PKLDRMODLX pModLX, void *pvBits);
 static int kldrModLXDoIterDataUnpacking(KU8 *pbDst, const KU8 *pbSrc, int cbSrc);
 static int kldrModLXDoIterData2Unpacking(KU8 *pbDst, const KU8 *pbSrc, int cbSrc);
 static void kLdrModLXMemCopyW(KU8 *pbDst, const KU8 *pbSrc, int cb);
 static int kldrModLXDoProtect(PKLDRMODLX pModLX, void *pvBits, unsigned fUnprotectOrProtect);
-static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, unsigned uOp, KUPTR uHandle);
+static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, void *pvMapping, unsigned uOp, KUPTR uHandle);
 static int kldrModLXDoForwarderQuery(PKLDRMODLX pModLX, const struct e32_entry *pEntry,
                                      PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind);
 static int kldrModLXDoLoadFixupSection(PKLDRMODLX pModLX);
@@ -297,7 +297,7 @@ static int kldrModLXDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX
     pMod->pRdr = pRdr;
     pMod->pOps = NULL;      /* set upon success. */
     pMod->cSegments = Hdr.e32_objcnt;
-    pMod->cchFilename = cchFilename;
+    pMod->cchFilename = (KU32)cchFilename;
     pMod->pszFilename = (char *)K_ALIGN_P(&pMod->aSegments[pMod->cSegments], 8);
     kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1);
     pMod->pszName = NULL; /* finalized further down */
@@ -477,7 +477,7 @@ static int kldrModLXDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX
             pMod->aSegments[i].cbMapped = K_ALIGN_Z(pModLX->paObjs[i].o32_size, OBJPAGELEN);
         else
             pMod->aSegments[i].cbMapped = pModLX->paObjs[i + 1].o32_base - pModLX->paObjs[i].o32_base;
-        NextRVA += pMod->aSegments[i].cbMapped;
+        NextRVA += (KU32)pMod->aSegments[i].cbMapped;
 
         /* protection */
         switch (  pModLX->paObjs[i].o32_flags
@@ -708,7 +708,7 @@ static int kldrModLXQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR Base
  * @param   cchSymbol   The symbol name length.
  * @param   piSymbol    Where to store the symbol ordinal.
  */
-static int kldrModLXDoNameLookup(PKLDRMODLX pModLX, const char *pchSymbol, KU32 cchSymbol, KU32 *piSymbol)
+static int kldrModLXDoNameLookup(PKLDRMODLX pModLX, const char *pchSymbol, KSIZE cchSymbol, KU32 *piSymbol)
 {
 
     /*
@@ -783,7 +783,7 @@ static KU32 kldrModLXDoHash(const char *pchSymbol, KU8 cchSymbol)
  * @param   pchSymbol       The name of the symbol we're looking for.
  * @param   cchSymbol       The length of the symbol name.
  */
-static const KU8 *kldrModLXDoNameTableLookupByName(const KU8 *pbNameTable, KI32 cbNameTable,
+static const KU8 *kldrModLXDoNameTableLookupByName(const KU8 *pbNameTable, KSSIZE cbNameTable,
                                                    const char *pchSymbol, KSIZE cchSymbol)
 {
     /*
@@ -1172,7 +1172,7 @@ static int kldrModLXEnumSymbols(PKLDRMOD pMod, const void *pvBits, KLDRADDR Base
  * @param   cbNameTable The size of the name table.
  * @param   iOrdinal    The ordinal to search for.
  */
-static const KU8 *kldrModLXDoNameTableLookupByOrdinal(const KU8 *pbNameTable, KI32 cbNameTable, KU32 iOrdinal)
+static const KU8 *kldrModLXDoNameTableLookupByOrdinal(const KU8 *pbNameTable, KSSIZE cbNameTable, KU32 iOrdinal)
 {
     while (*pbNameTable != 0 && cbNameTable > 0)
     {
@@ -1423,7 +1423,7 @@ static int kldrModLXDoLoadBits(PKLDRMODLX pModLX, void *pvBits)
     for (i = 0; i < pModLX->Hdr.e32_objcnt; i++)
     {
         const struct o32_obj * const pObj = &pModLX->paObjs[i];
-        const KU32      cPages = pModLX->pMod->aSegments[i].cbMapped / OBJPAGELEN;
+        const KU32      cPages = (KU32)(pModLX->pMod->aSegments[i].cbMapped / OBJPAGELEN);
         KU32            iPage;
         KU8            *pbPage = (KU8 *)pvBits + (KUPTR)pModLX->pMod->aSegments[i].RVA;
 
@@ -1936,22 +1936,24 @@ static int kldrModLXUnmap(PKLDRMOD pMod)
 
 
 /** @copydoc kLdrModAllocTLS */
-static int kldrModLXAllocTLS(PKLDRMOD pMod)
+static int kldrModLXAllocTLS(PKLDRMOD pMod, void *pvMapping)
 {
     PKLDRMODLX  pModLX = (PKLDRMODLX)pMod->pvData;
 
     /* no tls, just do the error checking. */
-    if (!pModLX->pvMapping)
+    if (   pvMapping == KLDRMOD_INT_MAP
+        && pModLX->pvMapping)
         return KLDR_ERR_NOT_MAPPED;
     return 0;
 }
 
 
 /** @copydoc kLdrModFreeTLS */
-static void kldrModLXFreeTLS(PKLDRMOD pMod)
+static void kldrModLXFreeTLS(PKLDRMOD pMod, void *pvMapping)
 {
     /* no tls. */
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
 
 }
 
@@ -2026,7 +2028,7 @@ static int kldrModLXFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport
 
 
 /** @copydoc kLdrModCallInit */
-static int kldrModLXCallInit(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModLXCallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;
     int rc;
@@ -2034,14 +2036,18 @@ static int kldrModLXCallInit(PKLDRMOD pMod, KUPTR uHandle)
     /*
      * Mapped?
      */
-    if (!pModLX->pvMapping)
-        return KLDR_ERR_NOT_MAPPED;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModLX->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
 
     /*
      * Do TLS callbacks first and then call the init/term function if it's a DLL.
      */
     if ((pModLX->Hdr.e32_mflags & E32MODMASK) == E32MODDLL)
-        rc = kldrModLXDoCallDLL(pModLX, 0 /* attach */, uHandle);
+        rc = kldrModLXDoCallDLL(pModLX, pvMapping, 0 /* attach */, uHandle);
     else
         rc = 0;
     return rc;
@@ -2054,10 +2060,11 @@ static int kldrModLXCallInit(PKLDRMOD pMod, KUPTR uHandle)
  * @returns 0 on success.
  * @returns KLDR_ERR_MODULE_INIT_FAILED  or KLDR_ERR_THREAD_ATTACH_FAILED on failure.
  * @param   pModLX          The LX module interpreter instance.
+ * @param   pvMapping       The module mapping to use (resolved).
  * @param   uOp             The operation (DLL_*).
  * @param   uHandle         The module handle to present.
  */
-static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, unsigned uOp, KUPTR uHandle)
+static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, void *pvMapping, unsigned uOp, KUPTR uHandle)
 {
     int rc;
 
@@ -2071,7 +2078,7 @@ static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, unsigned uOp, KUPTR uHandle)
     /*
      * Invoke the entrypoint and convert the boolean result to a kLdr status code.
      */
-    rc = kldrModLXDoCall((KUPTR)pModLX->pvMapping
+    rc = kldrModLXDoCall((KUPTR)pvMapping
                          + (KUPTR)pModLX->pMod->aSegments[pModLX->Hdr.e32_startobj - 1].RVA
                          + pModLX->Hdr.e32_eip,
                          uHandle, uOp, NULL);
@@ -2149,31 +2156,36 @@ static KI32 kldrModLXDoCall(KUPTR uEntrypoint, KUPTR uHandle, KU32 uOp, void *pv
 
 
 /** @copydoc kLdrModCallTerm */
-static int kldrModLXCallTerm(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModLXCallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     PKLDRMODLX  pModLX = (PKLDRMODLX)pMod->pvData;
 
     /*
      * Mapped?
      */
-    if (!pModLX->pvMapping)
-        return KLDR_ERR_NOT_MAPPED;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModLX->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
 
     /*
      * Do the call.
      */
     if ((pModLX->Hdr.e32_mflags & E32MODMASK) == E32MODDLL)
-        kldrModLXDoCallDLL(pModLX, 1 /* detach */, uHandle);
+        kldrModLXDoCallDLL(pModLX, pvMapping, 1 /* detach */, uHandle);
 
     return 0;
 }
 
 
 /** @copydoc kLdrModCallThread */
-static int kldrModLXCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
+static int kldrModLXCallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching)
 {
     /* no thread attach/detach callout. */
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
     K_NOREF(uHandle);
     K_NOREF(fAttachingOrDetaching);
     return 0;
@@ -2463,11 +2475,11 @@ static int kldrModLXRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAd
                     if (    (u.prlc->nr_stype & NRSRCMASK) == NROFF32
                         &&  off >= 0
                         &&  off <= OBJPAGELEN - 4)
-                        *(KU32 *)&pbPage[off] = uValue;
+                        *(KU32 *)&pbPage[off] = (KU32)uValue;
                     else if (    (u.prlc->nr_stype & NRSRCMASK) == NRSOFF32
                             &&  off >= 0
                             &&  off <= OBJPAGELEN - 4)
-                        *(KU32 *)&pbPage[off] = uValue - (PageAddress + off + 4);
+                        *(KU32 *)&pbPage[off] = (KU32)(uValue - (PageAddress + off + 4));
                     else
                     {
                         /* generic */
@@ -2488,7 +2500,7 @@ static int kldrModLXRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAd
                         {
                             int off = *poffSrc++;
                             if (off >= 0 && off <= OBJPAGELEN - 4)
-                                *(KU32 *)&pbPage[off] = uValue;
+                                *(KU32 *)&pbPage[off] = (KU32)uValue;
                             else
                             {
                                 rc = kldrModLXDoReloc(pbPage, off, PageAddress, u.prlc, iSelector, uValue, fKind);
@@ -2503,7 +2515,7 @@ static int kldrModLXRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAd
                         {
                             int off = *poffSrc++;
                             if (off >= 0 && off <= OBJPAGELEN - 4)
-                                *(KU32 *)&pbPage[off] = uValue - (PageAddress + off + 4);
+                                *(KU32 *)&pbPage[off] = (KU32)(uValue - (PageAddress + off + 4));
                             else
                             {
                                 rc = kldrModLXDoReloc(pbPage, off, PageAddress, u.prlc, iSelector, uValue, fKind);
@@ -2621,7 +2633,7 @@ static int kldrModLXDoReloc(KU8 *pbPage, int off, KLDRADDR PageAddress, const st
             cb = 4;
             break;
         case NRSOFF32:
-            uData.off32 = (KU32)uValue - (PageAddress + off + 4);
+            uData.off32 = (KU32)(uValue - (PageAddress + off + 4));
             cb = 4;
             break;
         default:
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c b/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
index d7967e5..6a11d30 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrModMachO.c 79 2016-07-27 14:25:09Z bird $ */
+/* $Id: kLdrModMachO.c 91 2016-09-07 14:29:58Z bird $ */
 /** @file
  * kLdr - The Module Interpreter for the MACH-O format.
  */
@@ -218,10 +218,10 @@ static int  kldrModMachOMapVirginBits(PKLDRMODMACHO pModMachO);
 
 static int  kldrModMachODoQuerySymbol32Bit(PKLDRMODMACHO pModMachO, const macho_nlist_32_t *paSyms, KU32 cSyms, const char *pchStrings,
                                            KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol, const char *pchSymbol,
-                                           KSIZE cchSymbol, PKLDRADDR puValue, KU32 *pfKind);
+                                           KU32 cchSymbol, PKLDRADDR puValue, KU32 *pfKind);
 static int  kldrModMachODoQuerySymbol64Bit(PKLDRMODMACHO pModMachO, const macho_nlist_64_t *paSyms, KU32 cSyms, const char *pchStrings,
                                            KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol, const char *pchSymbol,
-                                           KSIZE cchSymbol, PKLDRADDR puValue, KU32 *pfKind);
+                                           KU32 cchSymbol, PKLDRADDR puValue, KU32 *pfKind);
 static int  kldrModMachODoEnumSymbols32Bit(PKLDRMODMACHO pModMachO, const macho_nlist_32_t *paSyms, KU32 cSyms,
                                            const char *pchStrings, KU32 cchStrings, KLDRADDR BaseAddress,
                                            KU32 fFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser);
@@ -407,11 +407,11 @@ static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, KU32 fOpenFlags,
     pMod->pRdr = pRdr;
     pMod->pOps = NULL;      /* set upon success. */
     pMod->cSegments = cSegments;
-    pMod->cchFilename = cchFilename;
+    pMod->cchFilename = (KU32)cchFilename;
     pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments];
     kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1);
     pMod->pszName = kHlpGetFilename(pMod->pszFilename);
-    pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);
+    pMod->cchName = (KU32)(cchFilename - (pMod->pszName - pMod->pszFilename));
     pMod->fFlags = 0;
     switch (s.Hdr32.cputype)
     {
@@ -570,7 +570,7 @@ static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
     const KU64 cbFile = kRdrSize(pRdr) - offImage;
     KU32 cSegments = 0;
     KU32 cSections = 0;
-    KU32 cbStringPool = 0;
+    KSIZE cbStringPool = 0;
     KU32 cLeft = pHdr->ncmds;
     KU32 cbLeft = pHdr->sizeofcmds;
     KU8 *pb = pbLoadCommands;
@@ -653,7 +653,7 @@ static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
                     KLDRMODMACHO_CHECK_RETURN(   pSrcSeg->filesize <= pSrcSeg->vmsize \
                                               || (fSkipSeg && !kHlpStrComp(pSrcSeg->segname, "__CTF") /* see above */), \
                                               KLDR_ERR_MACHO_BAD_LOAD_COMMAND); \
-                    KLDRMODMACHO_CHECK_RETURN((pSrcSeg->maxprot & pSrcSeg->initprot) == pSrcSeg->initprot, \
+                    KLDRMODMACHO_CHECK_RETURN(!(~pSrcSeg->maxprot & pSrcSeg->initprot), \
                                               KLDR_ERR_MACHO_BAD_LOAD_COMMAND); \
                     KLDRMODMACHO_CHECK_RETURN(!(pSrcSeg->flags & ~(SG_HIGHVM | SG_FVMLIB | SG_NORELOC | SG_PROTECTED_VERSION_1)), \
                                               KLDR_ERR_MACHO_BAD_LOAD_COMMAND); \
@@ -777,7 +777,7 @@ static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
                                                                      | S_ATTR_DEBUG | S_ATTR_SOME_INSTRUCTIONS | S_ATTR_EXT_RELOC \
                                                                      | S_ATTR_LOC_RELOC | SECTION_TYPE)), \
                                                   KLDR_ERR_MACHO_BAD_SECTION); \
-                        KLDRMODMACHO_CHECK_RETURN((pSect->flags & S_ATTR_DEBUG) == (pSect->flags & S_ATTR_DEBUG), \
+                        KLDRMODMACHO_CHECK_RETURN((pSect->flags & S_ATTR_DEBUG) == (pFirstSect->flags & S_ATTR_DEBUG), \
                                                   KLDR_ERR_MACHO_MIXED_DEBUG_SECTION_FLAGS); \
                         \
                         KLDRMODMACHO_CHECK_RETURN(pSect->addr - pSrcSeg->vmaddr <= pSrcSeg->vmsize, \
@@ -1083,7 +1083,7 @@ static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
 
     *pcSegments = cSegments;
     *pcSections = cSections;
-    *pcbStringPool = cbStringPool;
+    *pcbStringPool = (KU32)cbStringPool;
 
     return 0;
 }
@@ -1153,7 +1153,7 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
                         *pbStringPool++ = '.'; \
                         kHlpMemCopy(pbStringPool, a_achName2, cchName2); \
                         pbStringPool += cchName2; \
-                        pDstSeg->cchName += cchName2; \
+                        pDstSeg->cchName += (KU32)cchName2; \
                     } \
                     *pbStringPool++ = '\0'; \
                     pDstSeg->SelFlat = 0; \
@@ -1165,8 +1165,8 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
                     pDstSeg->LinkAddress = (a_SegAddr); \
                     if (a_fFileBits) \
                     { \
-                        pDstSeg->offFile = (a_offFile) + pModMachO->offImage; \
-                        pDstSeg->cbFile  = (a_cbFile); \
+                        pDstSeg->offFile = (KLDRFOFF)((a_offFile) + pModMachO->offImage); \
+                        pDstSeg->cbFile  = (KLDRFOFF)(a_cbFile); \
                     } \
                     else \
                     { \
@@ -1177,15 +1177,15 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
                     pDstSeg->cbMapped = 0; \
                     pDstSeg->MapAddress = 0; \
                     \
-                    pSegExtra->iOrgSegNo = pSegExtra - &pModMachO->aSegments[0]; \
+                    pSegExtra->iOrgSegNo = (KU32)(pSegExtra - &pModMachO->aSegments[0]); \
                     pSegExtra->cSections = 0; \
                     pSegExtra->paSections = pSectExtra; \
                 } while (0)
 
-                /* Closes the new segment - parter of NEW_SEGMENT. */
+                /* Closes the new segment - part of NEW_SEGMENT. */
                 #define CLOSE_SEGMENT() \
                 do { \
-                    pSegExtra->cSections = pSectExtra - pSegExtra->paSections; \
+                    pSegExtra->cSections = (KU32)(pSectExtra - pSegExtra->paSections); \
                     pSegExtra++; \
                     pDstSeg++; \
                 } while (0)
@@ -1253,7 +1253,7 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
                         else \
                             pSectExtra->offFixups = -1; \
                         pSectExtra->fFlags = pSect->flags; \
-                        pSectExtra->iSegment = pSegExtra - &pModMachO->aSegments[0]; \
+                        pSectExtra->iSegment = (KU32)(pSegExtra - &pModMachO->aSegments[0]); \
                         pSectExtra->pvMachoSection = pSect; \
                         \
                         /* Update the segment alignment, if we're not skipping it. */ \
@@ -1374,7 +1374,7 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
         {
 
             cb = pDstSeg[1].RVA - pDstSeg->RVA;
-            pDstSeg->cbMapped = (KSIZE)cb == cb ? cb : KSIZE_MAX;
+            pDstSeg->cbMapped = (KSIZE)cb == cb ? (KSIZE)cb : KSIZE_MAX;
         }
 
         cb = KLDR_ALIGN_ADDR(pDstSeg->cb, pDstSeg->Alignment);
@@ -1404,10 +1404,10 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
      */
     if (pModMachO->fMakeGot)
     {
-        KSIZE cbPtr = (   pModMachO->Hdr.magic == IMAGE_MACHO32_SIGNATURE
-                       || pModMachO->Hdr.magic == IMAGE_MACHO32_SIGNATURE_OE)
-                    ? sizeof(KU32)
-                    : sizeof(KU64);
+        KU32 cbPtr = (   pModMachO->Hdr.magic == IMAGE_MACHO32_SIGNATURE
+                      || pModMachO->Hdr.magic == IMAGE_MACHO32_SIGNATURE_OE)
+                   ? sizeof(KU32)
+                   : sizeof(KU64);
         KU32 cbGot = pModMachO->cSymbols * cbPtr;
         KU32 cbJmpStubs;
 
@@ -1439,7 +1439,7 @@ static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
         pDstSeg->offFile = -1;
         pDstSeg->cbFile  = -1;
         pDstSeg->RVA = pModMachO->GotRVA;
-        pDstSeg->cbMapped = KLDR_ALIGN_ADDR(cbGot + cbJmpStubs, pDstSeg->Alignment);
+        pDstSeg->cbMapped = (KSIZE)KLDR_ALIGN_ADDR(cbGot + cbJmpStubs, pDstSeg->Alignment);
         pDstSeg->MapAddress = 0;
 
         pSegExtra->iOrgSegNo = KU32_MAX;
@@ -1701,11 +1701,11 @@ static int kldrModMachOQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR B
                 ||  pModMachO->Hdr.magic == IMAGE_MACHO32_SIGNATURE_OE)
                 rc = kldrModMachODoQuerySymbol32Bit(pModMachO, (macho_nlist_32_t *)pModMachO->pvaSymbols, pModMachO->cSymbols,
                                                     pModMachO->pchStrings, pModMachO->cchStrings, BaseAddress, iSymbol, pchSymbol,
-                                                    cchSymbol, puValue, pfKind);
+                                                    (KU32)cchSymbol, puValue, pfKind);
             else
                 rc = kldrModMachODoQuerySymbol64Bit(pModMachO, (macho_nlist_64_t *)pModMachO->pvaSymbols, pModMachO->cSymbols,
                                                     pModMachO->pchStrings, pModMachO->cchStrings, BaseAddress, iSymbol, pchSymbol,
-                                                    cchSymbol, puValue, pfKind);
+                                                    (KU32)cchSymbol, puValue, pfKind);
         }
 
         /*
@@ -1749,9 +1749,9 @@ static int kldrModMachOQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR B
  * @param   puValue     See kLdrModQuerySymbol.
  * @param   pfKind      See kLdrModQuerySymbol.
  */
-static int kldrModMachODoQuerySymbol32Bit(PKLDRMODMACHO pModMachO, const macho_nlist_32_t *paSyms, KU32 cSyms, const char *pchStrings,
-                                          KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol, const char *pchSymbol, KSIZE cchSymbol,
-                                          PKLDRADDR puValue, KU32 *pfKind)
+static int kldrModMachODoQuerySymbol32Bit(PKLDRMODMACHO pModMachO, const macho_nlist_32_t *paSyms, KU32 cSyms,
+                                          const char *pchStrings, KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol,
+                                          const char *pchSymbol, KU32 cchSymbol, PKLDRADDR puValue, KU32 *pfKind)
 {
     /*
      * Find a valid symbol matching the search criteria.
@@ -1877,9 +1877,9 @@ static int kldrModMachODoQuerySymbol32Bit(PKLDRMODMACHO pModMachO, const macho_n
  * @param   puValue     See kLdrModQuerySymbol.
  * @param   pfKind      See kLdrModQuerySymbol.
  */
-static int kldrModMachODoQuerySymbol64Bit(PKLDRMODMACHO pModMachO, const macho_nlist_64_t *paSyms, KU32 cSyms, const char *pchStrings,
-                                          KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol, const char *pchSymbol, KSIZE cchSymbol,
-                                          PKLDRADDR puValue, KU32 *pfKind)
+static int kldrModMachODoQuerySymbol64Bit(PKLDRMODMACHO pModMachO, const macho_nlist_64_t *paSyms, KU32 cSyms,
+                                          const char *pchStrings, KU32 cchStrings, KLDRADDR BaseAddress, KU32 iSymbol,
+                                          const char *pchSymbol, KU32 cchSymbol, PKLDRADDR puValue, KU32 *pfKind)
 {
     /*
      * Find a valid symbol matching the search criteria.
@@ -2490,23 +2490,25 @@ static int kldrModMachOUnmap(PKLDRMOD pMod)
 
 
 /** @copydoc kLdrModAllocTLS */
-static int kldrModMachOAllocTLS(PKLDRMOD pMod)
+static int kldrModMachOAllocTLS(PKLDRMOD pMod, void *pvMapping)
 {
     PKLDRMODMACHO pModMachO = (PKLDRMODMACHO)pMod->pvData;
 
     /*
      * Mapped?
      */
-    if (!pModMachO->pvMapping)
+    if (   pvMapping == KLDRMOD_INT_MAP
+        && !pModMachO->pvMapping )
         return KLDR_ERR_NOT_MAPPED;
     return 0;
 }
 
 
 /** @copydoc kLdrModFreeTLS */
-static void kldrModMachOFreeTLS(PKLDRMOD pMod)
+static void kldrModMachOFreeTLS(PKLDRMOD pMod, void *pvMapping)
 {
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
 }
 
 
@@ -3454,30 +3456,33 @@ static int kldrModMachOMapVirginBits(PKLDRMODMACHO pModMachO)
 
 
 /** @copydoc kLdrModCallInit */
-static int kldrModMachOCallInit(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModMachOCallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     /* later */
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
     K_NOREF(uHandle);
     return 0;
 }
 
 
 /** @copydoc kLdrModCallTerm */
-static int kldrModMachOCallTerm(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModMachOCallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     /* later */
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
     K_NOREF(uHandle);
     return 0;
 }
 
 
 /** @copydoc kLdrModCallThread */
-static int kldrModMachOCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
+static int kldrModMachOCallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching)
 {
     /* Relevant for Mach-O? */
     K_NOREF(pMod);
+    K_NOREF(pvMapping);
     K_NOREF(uHandle);
     K_NOREF(fAttachingOrDetaching);
     return 0;
@@ -3592,7 +3597,7 @@ static int kldrModMachOMakeGOT(PKLDRMODMACHO pModMachO, void *pvBits, KLDRADDR N
                     PKLDRMODMACHOSECT pSymSect;
                     KLDRMODMACHO_CHECK_RETURN((KU32)paSyms[iSym].n_sect - 1 <= pModMachO->cSections, KLDR_ERR_MACHO_BAD_SYMBOL);
                     pSymSect = &pModMachO->paSections[paSyms[iSym].n_sect - 1];
-                    paGOT[iSym] = paSyms[iSym].n_value - pSymSect->LinkAddress + pSymSect->RVA + NewBaseAddress;
+                    paGOT[iSym] = (KU32)(paSyms[iSym].n_value - pSymSect->LinkAddress + pSymSect->RVA + NewBaseAddress);
                     break;
                 }
 
@@ -3648,7 +3653,7 @@ static int kldrModMachOMakeGOT(PKLDRMODMACHO pModMachO, void *pvBits, KLDRADDR N
                     }       Tmpl;
 
                     /* create the template. */
-                    off = pModMachO->GotRVA - (pModMachO->JmpStubsRVA + 6);
+                    off = (KI32)(pModMachO->GotRVA - (pModMachO->JmpStubsRVA + 6));
                     Tmpl.ab[0] = 0xff; /* jmp [GOT-entry wrt RIP] */
                     Tmpl.ab[1] = 0x25;
                     Tmpl.ab[2] =  off        & 0xff;
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrModNative.c b/src/libs/kStuff/kStuff/kLdr/kLdrModNative.c
index 48bab46..29f65a4 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrModNative.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrModNative.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrModNative.c 58 2013-10-12 20:18:21Z bird $ */
+/* $Id: kLdrModNative.c 82 2016-08-22 21:01:51Z bird $ */
 /** @file
  * kLdr - The Module Interpreter for the Native Loaders.
  */
@@ -144,6 +144,11 @@ typedef struct KLDRMODNATIVE
 *******************************************************************************/
 static KI32 kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits);
 
+/*********************************************************************************************************************************
+*   Global Variables                                                                                                             *
+*********************************************************************************************************************************/
+extern KLDRMODOPS g_kLdrModNativeOps;
+
 
 
 /**
@@ -156,7 +161,8 @@ static KI32 kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits);
  * @param   offNewHdr       The offset of the new header in MZ files. -1 if not found.
  * @param   ppMod           Where to store the module instance pointer.
  */
-static int kldrModNativeCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)
+static int kldrModNativeCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KU32 fFlags, KCPUARCH enmCpuArch,
+                               KLDRFOFF offNewHdr, PPKLDRMOD ppMod)
 {
     int rc = kLdrModOpenNative(kRdrName(pRdr), ppMod);
     if (rc)
@@ -232,7 +238,7 @@ int kLdrModOpenNative(const char *pszFilename, PPKLDRMOD ppMod)
 int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
 {
     KSIZE cb;
-    KSIZE cchFilename;
+    KU32 cchFilename;
     KU32 cSegments;
     PKLDRMOD pMod;
     PKLDRMODNATIVE pModNative;
@@ -302,7 +308,7 @@ int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
     /*
      * Calc the instance size, allocate and initialize it.
      */
-    cchFilename = kHlpStrLen(szFilename);
+    cchFilename = (KU32)kHlpStrLen(szFilename);
     cb = K_ALIGN_Z(sizeof(KLDRMODNATIVE), 16)
        + K_OFFSETOF(KLDRMOD, aSegments[cSegments])
        + cchFilename + 1;
@@ -320,7 +326,7 @@ int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
     pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments];
     kHlpMemCopy((char *)pMod->pszFilename, szFilename, cchFilename + 1);
     pMod->pszName = kHlpGetFilename(pMod->pszFilename); /** @todo get soname */
-    pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);
+    pMod->cchName = cchFilename - (KU32)(pMod->pszName - pMod->pszFilename);
     pMod->fFlags = 0;
 #if defined(__i386__) || defined(__X86__) || defined(_M_IX86)
     pMod->enmCpu = KCPU_I386;
@@ -391,36 +397,36 @@ int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
         pMod->aSegments[0].cbMapped = paShdrs[0].VirtualAddress;
     else
         pMod->aSegments[0].cbMapped = pNtHdrs->OptionalHeader.SizeOfHeaders;
-    pMod->aSegments[0].MapAddress = 0;
+    pMod->aSegments[0].MapAddress = uHandle;
 
     /* The section headers. */
     for (i = 0; i < pNtHdrs->FileHeader.NumberOfSections; i++)
     {
         const char *pch;
+        KU32        cchSegName;
 
         /* unused */
         pMod->aSegments[i + 1].pvUser = NULL;
-        pMod->aSegments[i + 1].MapAddress = 0;
 
         /* name */
         pMod->aSegments[i + 1].pchName = pch = &paShdrs[i].Name[0];
-        cb = IMAGE_SIZEOF_SHORT_NAME;
-        while (     cb > 0
-               &&   (pch[cb - 1] == ' ' || pch[cb - 1] == '\0'))
-            cb--;
-        pMod->aSegments[i + 1].cchName = cb;
+        cchSegName = IMAGE_SIZEOF_SHORT_NAME;
+        while (    cchSegName > 0
+               && (pch[cchSegName - 1] == ' ' || pch[cchSegName - 1] == '\0'))
+            cchSegName--;
+        pMod->aSegments[i + 1].cchName = cchSegName;
 
         /* size and addresses */
         if (!(paShdrs[i].Characteristics & IMAGE_SCN_TYPE_NOLOAD))
         {
             pMod->aSegments[i + 1].cb          = paShdrs[i].Misc.VirtualSize;
-            pMod->aSegments[i + 1].LinkAddress = paShdrs[i].VirtualAddress
-                                               + pNtHdrs->OptionalHeader.ImageBase;
             pMod->aSegments[i + 1].RVA         = paShdrs[i].VirtualAddress;
+            pMod->aSegments[i + 1].LinkAddress = paShdrs[i].VirtualAddress + pNtHdrs->OptionalHeader.ImageBase;
+            pMod->aSegments[i + 1].MapAddress  = paShdrs[i].VirtualAddress + uHandle;
             pMod->aSegments[i + 1].cbMapped    = paShdrs[i].Misc.VirtualSize;
             if (i + 2 < pMod->cSegments)
-                pMod->aSegments[i + 1].cbMapped= paShdrs[i + 1].VirtualAddress
-                                               - paShdrs[i].VirtualAddress;
+                pMod->aSegments[i + 1].cbMapped = paShdrs[i + 1].VirtualAddress
+                                                - paShdrs[i].VirtualAddress;
         }
         else
         {
@@ -428,14 +434,15 @@ int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
             pMod->aSegments[i + 1].cbMapped    = 0;
             pMod->aSegments[i + 1].LinkAddress = NIL_KLDRADDR;
             pMod->aSegments[i + 1].RVA         = 0;
+            pMod->aSegments[i + 1].MapAddress  = 0;
         }
 
         /* file location */
         pMod->aSegments[i + 1].offFile = paShdrs[i].PointerToRawData;
-        pMod->aSegments[i + 1].cbFile = paShdrs[i].SizeOfRawData;
+        pMod->aSegments[i + 1].cbFile  = paShdrs[i].SizeOfRawData;
         if (    pMod->aSegments[i + 1].cbMapped > 0 /* if mapped */
             &&  (KLDRSIZE)pMod->aSegments[i + 1].cbFile > pMod->aSegments[i + 1].cbMapped)
-            pMod->aSegments[i + 1].cbFile = pMod->aSegments[i + 1].cbMapped;
+            pMod->aSegments[i + 1].cbFile = (KLDRFOFF)pMod->aSegments[i + 1].cbMapped;
 
         /* protection */
         switch (  paShdrs[i].Characteristics
@@ -509,6 +516,8 @@ int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
     /*
      * We're done.
      */
+    pMod->u32Magic = KLDRMOD_MAGIC;
+    pMod->pOps = &g_kLdrModNativeOps;
     *ppMod = pMod;
     return 0;
 }
@@ -942,12 +951,11 @@ static int kldrModNativeEnumDbgInfo(PKLDRMOD pMod, const void *pvBits, PFNKLDREN
         }
 
         rc = pfnCallback(pMod, iDbgInfo,
-                         enmDbgInfoType, pDbgDir->MajorVersion, pDbgDir->MinorVersion,
+                         enmDbgInfoType, pDbgDir->MajorVersion, pDbgDir->MinorVersion, NULL /*pszPartNm*/,
                          pDbgDir->PointerToRawData ? pDbgDir->PointerToRawData : -1,
                          pDbgDir->AddressOfRawData ? pDbgDir->AddressOfRawData : NIL_KLDRADDR,
                          pDbgDir->SizeOfData,
-                         NULL,
-                         pvUser);
+                         NULL /*pszExtFile*/, pvUser);
         if (rc)
             break;
 
@@ -1015,14 +1023,14 @@ static int kldrModNativeUnmap(PKLDRMOD pMod)
 
 
 /** @copydoc kLdrModAllocTLS */
-static int kldrModNativeAllocTLS(PKLDRMOD pMod)
+static int kldrModNativeAllocTLS(PKLDRMOD pMod, void *pvMapping)
 {
     return 0;
 }
 
 
 /** @copydoc kLdrModFreeTLS */
-static void kldrModNativeFreeTLS(PKLDRMOD pMod)
+static void kldrModNativeFreeTLS(PKLDRMOD pMod, void *pvMapping)
 {
 }
 
@@ -1042,21 +1050,21 @@ static int kldrModNativeFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetIm
 
 
 /** @copydoc kLdrModCallInit */
-static int kldrModNativeCallInit(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModNativeCallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     return 0;
 }
 
 
 /** @copydoc kLdrModCallTerm */
-static int kldrModNativeCallTerm(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModNativeCallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     return 0;
 }
 
 
 /** @copydoc kLdrModCallThread */
-static int kldrModNativeCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
+static int kldrModNativeCallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching)
 {
     return 0;
 }
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrModPE.c b/src/libs/kStuff/kStuff/kLdr/kLdrModPE.c
index a66f636..d829053 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrModPE.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrModPE.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrModPE.c 79 2016-07-27 14:25:09Z bird $ */
+/* $Id: kLdrModPE.c 89 2016-09-07 13:32:53Z bird $ */
 /** @file
  * kLdr - The Module Interpreter for the Portable Executable (PE) Format.
  */
@@ -120,8 +120,8 @@ static int  kldrModPEDoImports32Bit(PKLDRMODPE pModPE, void *pvMapping, const IM
 static int  kldrModPEDoImports64Bit(PKLDRMODPE pModPE, void *pvMapping, const IMAGE_IMPORT_DESCRIPTOR *pImpDesc,
                                     PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
 static int  kldrModPEDoImports(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
-static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle);
-static int  kldrModPEDoCallTLS(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle);
+static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, void *pvMapping, unsigned uOp, KUPTR uHandle);
+static int  kldrModPEDoCallTLS(PKLDRMODPE pModPE, void *pvMapping, unsigned uOp, KUPTR uHandle);
 static KI32 kldrModPEDoCall(KUPTR uEntrypoint, KUPTR uHandle, KU32 uOp, void *pvReserved);
 
 
@@ -229,11 +229,11 @@ static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE
     pMod->pRdr = pRdr;
     pMod->pOps = NULL;      /* set upon success. */
     pMod->cSegments = s.FileHdr.NumberOfSections + 1;
-    pMod->cchFilename = cchFilename;
+    pMod->cchFilename = (KU32)cchFilename;
     pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments];
     kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1);
     pMod->pszName = kHlpGetFilename(pMod->pszFilename);
-    pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);
+    pMod->cchName = (KU32)(cchFilename - (pMod->pszName - pMod->pszFilename));
     pMod->fFlags = 0;
     switch (s.FileHdr.Machine)
     {
@@ -324,6 +324,7 @@ static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE
     for (i = 0; i < pModPE->Hdrs.FileHeader.NumberOfSections; i++)
     {
         const char *pch;
+        KU32        cb2;
 
         /* unused */
         pMod->aSegments[i + 1].pvUser = NULL;
@@ -334,20 +335,24 @@ static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE
 
         /* name */
         pMod->aSegments[i + 1].pchName = pch = (const char *)&pModPE->aShdrs[i].Name[0];
-        cb = IMAGE_SIZEOF_SHORT_NAME;
-        while (     cb > 0
-               &&   (pch[cb - 1] == ' ' || pch[cb - 1] == '\0'))
-            cb--;
-        pMod->aSegments[i + 1].cchName = cb;
+        cb2 = IMAGE_SIZEOF_SHORT_NAME;
+        while (   cb2 > 0
+               && (pch[cb2 - 1] == ' ' || pch[cb2 - 1] == '\0'))
+            cb2--;
+        pMod->aSegments[i + 1].cchName = cb2;
 
         /* size and addresses */
         if (!(pModPE->aShdrs[i].Characteristics & IMAGE_SCN_TYPE_NOLOAD))
         {
+            /* Kluge to deal with wlink ".reloc" sections that has a VirtualSize of 0 bytes. */
+            cb2 = pModPE->aShdrs[i].Misc.VirtualSize;
+            if (!cb2)
+                cb2 = K_ALIGN_Z(pModPE->aShdrs[i].SizeOfRawData, pModPE->Hdrs.OptionalHeader.SectionAlignment);
             pMod->aSegments[i + 1].cb          = pModPE->aShdrs[i].Misc.VirtualSize;
             pMod->aSegments[i + 1].LinkAddress = pModPE->aShdrs[i].VirtualAddress
                                                + pModPE->Hdrs.OptionalHeader.ImageBase;
             pMod->aSegments[i + 1].RVA         = pModPE->aShdrs[i].VirtualAddress;
-            pMod->aSegments[i + 1].cbMapped    = pModPE->aShdrs[i].Misc.VirtualSize;
+            pMod->aSegments[i + 1].cbMapped    = cb2;
             if (i + 2 < pMod->cSegments)
                 pMod->aSegments[i + 1].cbMapped= pModPE->aShdrs[i + 1].VirtualAddress
                                                - pModPE->aShdrs[i].VirtualAddress;
@@ -362,10 +367,10 @@ static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE
 
         /* file location */
         pMod->aSegments[i + 1].offFile = pModPE->aShdrs[i].PointerToRawData;
-        pMod->aSegments[i + 1].cbFile = pModPE->aShdrs[i].SizeOfRawData;
+        pMod->aSegments[i + 1].cbFile  = pModPE->aShdrs[i].SizeOfRawData;
         if (    pMod->aSegments[i + 1].cbMapped > 0 /* if mapped */
             &&  (KLDRSIZE)pMod->aSegments[i + 1].cbFile > pMod->aSegments[i + 1].cbMapped)
-            pMod->aSegments[i + 1].cbFile = pMod->aSegments[i + 1].cbMapped;
+            pMod->aSegments[i + 1].cbFile = (KLDRFOFF)(pMod->aSegments[i + 1].cbMapped);
 
         /* protection */
         switch (  pModPE->aShdrs[i].Characteristics
@@ -854,7 +859,7 @@ static int kldrModPEDoForwarderQuery(PKLDRMODPE pModPE, const void *pvBits, cons
         pszSymbol++;
     if (!*pszSymbol)
         return KLDR_ERR_PE_BAD_FORWARDER;
-    cchImpModule = pszSymbol - pszForwarder;
+    cchImpModule = (KU32)(pszSymbol - pszForwarder);
 
     pszSymbol++;                        /* skip the dot */
     if (!*pszSymbol)
@@ -1282,15 +1287,19 @@ static int kldrModPEUnmap(PKLDRMOD pMod)
 
 
 /** @copydoc kLdrModAllocTLS */
-static int kldrModPEAllocTLS(PKLDRMOD pMod)
+static int kldrModPEAllocTLS(PKLDRMOD pMod, void *pvMapping)
 {
     PKLDRMODPE  pModPE = (PKLDRMODPE)pMod->pvData;
 
     /*
      * Mapped?
      */
-    if (!pModPE->pvMapping)
-        return KLDR_ERR_NOT_MAPPED;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModPE->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
 
     /*
      * If no TLS directory then there is nothing to do.
@@ -1304,15 +1313,19 @@ static int kldrModPEAllocTLS(PKLDRMOD pMod)
 
 
 /** @copydoc kLdrModFreeTLS */
-static void kldrModPEFreeTLS(PKLDRMOD pMod)
+static void kldrModPEFreeTLS(PKLDRMOD pMod, void *pvMapping)
 {
     PKLDRMODPE  pModPE = (PKLDRMODPE)pMod->pvData;
 
     /*
      * Mapped?
      */
-    if (!pModPE->pvMapping)
-        return;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModPE->pvMapping;
+        if (!pvMapping)
+            return;
+    }
 
     /*
      * If no TLS directory then there is nothing to do.
@@ -1708,7 +1721,7 @@ static int  kldrModPEDoImports64Bit(PKLDRMODPE pModPE, void *pvMapping, const IM
 
 
 /** @copydoc kLdrModCallInit */
-static int kldrModPECallInit(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModPECallInit(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     PKLDRMODPE pModPE = (PKLDRMODPE)pMod->pvData;
     int rc;
@@ -1716,19 +1729,23 @@ static int kldrModPECallInit(PKLDRMOD pMod, KUPTR uHandle)
     /*
      * Mapped?
      */
-    if (!pModPE->pvMapping)
-        return KLDR_ERR_NOT_MAPPED;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModPE->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
 
     /*
      * Do TLS callbacks first and then call the init/term function if it's a DLL.
      */
-    rc = kldrModPEDoCallTLS(pModPE, DLL_PROCESS_ATTACH, uHandle);
+    rc = kldrModPEDoCallTLS(pModPE, pvMapping, DLL_PROCESS_ATTACH, uHandle);
     if (    !rc
         &&  (pModPE->Hdrs.FileHeader.Characteristics & IMAGE_FILE_DLL))
     {
-        rc = kldrModPEDoCallDLL(pModPE, DLL_PROCESS_ATTACH, uHandle);
+        rc = kldrModPEDoCallDLL(pModPE, pvMapping, DLL_PROCESS_ATTACH, uHandle);
         if (rc)
-            kldrModPEDoCallTLS(pModPE, DLL_PROCESS_DETACH, uHandle);
+            kldrModPEDoCallTLS(pModPE, pvMapping, DLL_PROCESS_DETACH, uHandle);
     }
 
     return rc;
@@ -1741,10 +1758,11 @@ static int kldrModPECallInit(PKLDRMOD pMod, KUPTR uHandle)
  * @returns 0 on success.
  * @returns KLDR_ERR_MODULE_INIT_FAILED  or KLDR_ERR_THREAD_ATTACH_FAILED on failure.
  * @param   pModPE          The PE module interpreter instance.
+ * @param   pvMapping       The module mapping to use (resolved).
  * @param   uOp             The operation (DLL_*).
  * @param   uHandle         The module handle to present.
  */
-static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle)
+static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, void *pvMapping, unsigned uOp, KUPTR uHandle)
 {
     int rc;
 
@@ -1757,8 +1775,7 @@ static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle)
     /*
      * Invoke the entrypoint and convert the boolean result to a kLdr status code.
      */
-    rc = kldrModPEDoCall((KUPTR)pModPE->pvMapping + pModPE->Hdrs.OptionalHeader.AddressOfEntryPoint,
-                         uHandle, uOp, NULL);
+    rc = kldrModPEDoCall((KUPTR)pvMapping + pModPE->Hdrs.OptionalHeader.AddressOfEntryPoint, uHandle, uOp, NULL);
     if (rc)
         rc = 0;
     else if (uOp == DLL_PROCESS_ATTACH)
@@ -1777,13 +1794,15 @@ static int  kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle)
  * @returns 0 on success.
  * @returns KLDR_ERR_THREAD_ATTACH_FAILED on failure.
  * @param   pModPE          The PE module interpreter instance.
+ * @param   pvMapping       The module mapping to use (resolved).
  * @param   uOp             The operation (DLL_*).
  * @param   uHandle         The module handle to present.
  */
-static int  kldrModPEDoCallTLS(PKLDRMODPE pModPE, unsigned uOp, KUPTR uHandle)
+static int  kldrModPEDoCallTLS(PKLDRMODPE pModPE, void *pvMapping, unsigned uOp, KUPTR uHandle)
 {
     /** @todo implement TLS support. */
     K_NOREF(pModPE);
+    K_NOREF(pvMapping);
     K_NOREF(uOp);
     K_NOREF(uHandle);
     return 0;
@@ -1861,48 +1880,62 @@ static KI32 kldrModPEDoCall(KUPTR uEntrypoint, KUPTR uHandle, KU32 uOp, void *pv
 
 
 /** @copydoc kLdrModCallTerm */
-static int kldrModPECallTerm(PKLDRMOD pMod, KUPTR uHandle)
+static int kldrModPECallTerm(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle)
 {
     PKLDRMODPE  pModPE = (PKLDRMODPE)pMod->pvData;
 
     /*
      * Mapped?
      */
-    if (!pModPE->pvMapping)
-        return KLDR_ERR_NOT_MAPPED;
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModPE->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
 
     /*
      * Do TLS callbacks first.
      */
-    kldrModPEDoCallTLS(pModPE, DLL_PROCESS_DETACH, uHandle);
+    kldrModPEDoCallTLS(pModPE, pvMapping, DLL_PROCESS_DETACH, uHandle);
     if (pModPE->Hdrs.FileHeader.Characteristics & IMAGE_FILE_DLL)
-        kldrModPEDoCallDLL(pModPE, DLL_PROCESS_DETACH, uHandle);
+        kldrModPEDoCallDLL(pModPE, pvMapping, DLL_PROCESS_DETACH, uHandle);
 
     return 0;
 }
 
 
 /** @copydoc kLdrModCallThread */
-static int kldrModPECallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
+static int kldrModPECallThread(PKLDRMOD pMod, void *pvMapping, KUPTR uHandle, unsigned fAttachingOrDetaching)
 {
     PKLDRMODPE  pModPE = (PKLDRMODPE)pMod->pvData;
     unsigned    uOp = fAttachingOrDetaching ? DLL_THREAD_ATTACH : DLL_THREAD_DETACH;
     int         rc;
 
     /*
+     * Mapped?
+     */
+    if (pvMapping == KLDRMOD_INT_MAP)
+    {
+        pvMapping = (void *)pModPE->pvMapping;
+        if (!pvMapping)
+            return KLDR_ERR_NOT_MAPPED;
+    }
+
+    /*
      * Do TLS callbacks first and then call the init/term function if it's a DLL.
      */
-    rc = kldrModPEDoCallTLS(pModPE, uOp, uHandle);
+    rc = kldrModPEDoCallTLS(pModPE, pvMapping, uOp, uHandle);
     if (!fAttachingOrDetaching)
         rc = 0;
     if (    !rc
         &&  (pModPE->Hdrs.FileHeader.Characteristics & IMAGE_FILE_DLL))
     {
-        rc = kldrModPEDoCallDLL(pModPE, uOp, uHandle);
+        rc = kldrModPEDoCallDLL(pModPE, pvMapping, uOp, uHandle);
         if (!fAttachingOrDetaching)
             rc = 0;
         if (rc)
-            kldrModPEDoCallTLS(pModPE, uOp, uHandle);
+            kldrModPEDoCallTLS(pModPE, pvMapping, uOp, uHandle);
     }
 
     return rc;
diff --git a/src/libs/kStuff/kStuff/kRdr/kRdrFile.cpp b/src/libs/kStuff/kStuff/kRdr/kRdrFile.cpp
index 16c2b13..27dd803 100644
--- a/src/libs/kStuff/kStuff/kRdr/kRdrFile.cpp
+++ b/src/libs/kStuff/kStuff/kRdr/kRdrFile.cpp
@@ -1,4 +1,4 @@
-/* $Id: kRdrFile.cpp 29 2009-07-01 20:30:29Z bird $ */
+/* $Id: kRdrFile.cpp 81 2016-08-18 22:10:38Z bird $ */
 /** @file
  * kRdrFile - The Native File Provider
  */
@@ -1297,8 +1297,9 @@ static int krdrFileCreate(PPKRDR ppRdr, const char *pszFilename)
     pRdrFile->File = File;
     pRdrFile->cb = cb;
     pRdrFile->off = 0;
-    pRdrFile->cMappings = 0;
     pRdrFile->cPreps = 0;
+    pRdrFile->cMappings = 0;
+    pRdrFile->pvMapping = NULL;
     kHlpMemCopy(&pRdrFile->szFilename[0], szFilename, cchFilename + 1);
 
     *ppRdr = &pRdrFile->Core;
diff --git a/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp b/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
index 051f9c7..e552775 100644
--- a/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
+++ b/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
@@ -1308,7 +1308,7 @@ IPC_SpawnDaemon(const char *path)
   PR_Close(writable);
   writable = nsnull;
 
-  if ((PR_Read(readable, &c, 1) != 1) && (c != IPC_STARTUP_PIPE_MAGIC))
+  if ((PR_Read(readable, &c, 1) != 1) || (c != IPC_STARTUP_PIPE_MAGIC))
     goto end;
 
   rv = NS_OK;
diff --git a/src/libs/xpcom18a4/python/Makefile.kmk b/src/libs/xpcom18a4/python/Makefile.kmk
index f5c820a..298b279 100644
--- a/src/libs/xpcom18a4/python/Makefile.kmk
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
@@ -26,7 +26,7 @@ endif
 
 #
 # List of supported Python versions, defining a number of
-# VBOX_PYTHON[26|27|31|32|33|34|35|DEF]_[INC|LIB] variables
+# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|DEF]_[INC|LIB] variables
 # which get picked up below.
 #
 ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
@@ -145,12 +145,14 @@ VBoxPython2_6_INCS       = $(VBOX_PYTHON26_INC)
 VBoxPython2_6_LIBS       = $(VBOX_PYTHON26_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON26_LIB_X86
 DLLS += VBoxPython2_6_x86
 VBoxPython2_6_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython2_6_x86_EXTENDS_BY = appending
 VBoxPython2_6_x86_TEMPLATE   = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.6",OSX106,-x86)
 VBoxPython2_6_x86_INCS       = $(VBOX_PYTHON26_INC)
 VBoxPython2_6_x86_LIBS       = $(VBOX_PYTHON26_LIB_X86)
+  endif
  endif
 endif
 
@@ -166,12 +168,14 @@ VBoxPython2_7_INCS       = $(VBOX_PYTHON27_INC)
 VBoxPython2_7_LIBS       = $(VBOX_PYTHON27_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON27_LIB_X86
 DLLS += VBoxPython2_7_x86
 VBoxPython2_7_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython2_7_x86_EXTENDS_BY = appending
 VBoxPython2_7_x86_TEMPLATE   = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.7",OSX107,-x86)
 VBoxPython2_7_x86_INCS       = $(VBOX_PYTHON27_INC)
 VBoxPython2_7_x86_LIBS       = $(VBOX_PYTHON27_LIB_X86)
+  endif
  endif
 endif
 
@@ -187,12 +191,14 @@ VBoxPython3_1_INCS       = $(VBOX_PYTHON31_INC)
 VBoxPython3_1_LIBS       = $(VBOX_PYTHON31_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON31_LIB_X86
 DLLS += VBoxPython3_1_x86
 VBoxPython3_1_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython3_1_x86_EXTENDS_BY = appending
 VBoxPython3_1_x86_TEMPLATE   = XPCOM
 VBoxPython3_1_x86_INCS       = $(VBOX_PYTHON31_INC)
 VBoxPython3_1_x86_LIBS       = $(VBOX_PYTHON31_LIB_X86)
+  endif
  endif
 endif
 
@@ -208,12 +214,37 @@ VBoxPython3_2_INCS       = $(VBOX_PYTHON32_INC)
 VBoxPython3_2_LIBS       = $(VBOX_PYTHON32_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON32_LIB_X86
 DLLS += VBoxPython3_2_x86
 VBoxPython3_2_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython3_2_x86_EXTENDS_BY = appending
 VBoxPython3_2_x86_TEMPLATE   = XPCOM
 VBoxPython3_2_x86_INCS       = $(VBOX_PYTHON32_INC)
 VBoxPython3_2_x86_LIBS       = $(VBOX_PYTHON32_LIB_X86)
+  endif
+ endif
+endif
+
+ifdef VBOX_PYTHON32M_INC
+#
+# Python 3.2 version with pymalloc
+#
+DLLS += VBoxPython3_2m
+VBoxPython3_2m_EXTENDS    = VBoxPythonBase
+VBoxPython3_2m_EXTENDS_BY = appending
+VBoxPython3_2m_TEMPLATE   = XPCOM
+VBoxPython3_2m_INCS       = $(VBOX_PYTHON32M_INC)
+VBoxPython3_2m_LIBS       = $(VBOX_PYTHON32M_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON32M_LIB_X86
+DLLS += VBoxPython3_2m_x86
+VBoxPython3_2m_x86_EXTENDS    = VBoxPythonBase_x86
+VBoxPython3_2m_x86_EXTENDS_BY = appending
+VBoxPython3_2m_x86_TEMPLATE   = XPCOM
+VBoxPython3_2m_x86_INCS       = $(VBOX_PYTHON32M_INC)
+VBoxPython3_2m_x86_LIBS       = $(VBOX_PYTHON32M_LIB_X86)
+  endif
  endif
 endif
 
@@ -229,12 +260,37 @@ VBoxPython3_3_INCS       = $(VBOX_PYTHON33_INC)
 VBoxPython3_3_LIBS       = $(VBOX_PYTHON33_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON33_LIB_X86
 DLLS += VBoxPython3_3_x86
 VBoxPython3_3_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython3_3_x86_EXTENDS_BY = appending
 VBoxPython3_3_x86_TEMPLATE   = XPCOM
 VBoxPython3_3_x86_INCS       = $(VBOX_PYTHON33_INC)
 VBoxPython3_3_x86_LIBS       = $(VBOX_PYTHON33_LIB_X86)
+  endif
+ endif
+endif
+
+ifdef VBOX_PYTHON33M_INC
+#
+# Python 3.3 version with pymalloc
+#
+DLLS += VBoxPython3_3m
+VBoxPython3_3m_EXTENDS    = VBoxPythonBase
+VBoxPython3_3m_EXTENDS_BY = appending
+VBoxPython3_3m_TEMPLATE   = XPCOM
+VBoxPython3_3m_INCS       = $(VBOX_PYTHON33M_INC)
+VBoxPython3_3m_LIBS       = $(VBOX_PYTHON33M_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON33M_LIB_X86
+DLLS += VBoxPython3_3m_x86
+VBoxPython3_3m_x86_EXTENDS    = VBoxPythonBase_x86
+VBoxPython3_3m_x86_EXTENDS_BY = appending
+VBoxPython3_3m_x86_TEMPLATE   = XPCOM
+VBoxPython3_3m_x86_INCS       = $(VBOX_PYTHON33M_INC)
+VBoxPython3_3m_x86_LIBS       = $(VBOX_PYTHON33M_LIB_X86)
+  endif
  endif
 endif
 
@@ -250,12 +306,37 @@ VBoxPython3_4_INCS       = $(VBOX_PYTHON34_INC)
 VBoxPython3_4_LIBS       = $(VBOX_PYTHON34_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON34_LIB_X86
 DLLS += VBoxPython3_4_x86
 VBoxPython3_4_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython3_4_x86_EXTENDS_BY = appending
 VBoxPython3_4_x86_TEMPLATE   = XPCOM
 VBoxPython3_4_x86_INCS       = $(VBOX_PYTHON34_INC)
 VBoxPython3_4_x86_LIBS       = $(VBOX_PYTHON34_LIB_X86)
+  endif
+ endif
+endif
+
+ifdef VBOX_PYTHON34M_INC
+#
+# Python 3.4 version with pymalloc
+#
+DLLS += VBoxPython3_4m
+VBoxPython3_4m_EXTENDS    = VBoxPythonBase
+VBoxPython3_4m_EXTENDS_BY = appending
+VBoxPython3_4m_TEMPLATE   = XPCOM
+VBoxPython3_4m_INCS       = $(VBOX_PYTHON34M_INC)
+VBoxPython3_4m_LIBS       = $(VBOX_PYTHON34M_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON34M_LIB_X86
+DLLS += VBoxPython3_4m_x86
+VBoxPython3_4m_x86_EXTENDS    = VBoxPythonBase_x86
+VBoxPython3_4m_x86_EXTENDS_BY = appending
+VBoxPython3_4m_x86_TEMPLATE   = XPCOM
+VBoxPython3_4m_x86_INCS       = $(VBOX_PYTHON34M_INC)
+VBoxPython3_4m_x86_LIBS       = $(VBOX_PYTHON34M_LIB_X86)
+  endif
  endif
 endif
 
@@ -271,12 +352,37 @@ VBoxPython3_5_INCS       = $(VBOX_PYTHON35_INC)
 VBoxPython3_5_LIBS       = $(VBOX_PYTHON35_LIB)
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON35_LIB_X86
 DLLS += VBoxPython3_5_x86
 VBoxPython3_5_x86_EXTENDS    = VBoxPythonBase_x86
 VBoxPython3_5_x86_EXTENDS_BY = appending
 VBoxPython3_5_x86_TEMPLATE   = XPCOM
 VBoxPython3_5_x86_INCS       = $(VBOX_PYTHON35_INC)
 VBoxPython3_5_x86_LIBS       = $(VBOX_PYTHON35_LIB_X86)
+  endif
+ endif
+endif
+
+ifdef VBOX_PYTHON35M_INC
+#
+# Python 3.5 version with pymalloc
+#
+DLLS += VBoxPython3_5m
+VBoxPython3_5m_EXTENDS    = VBoxPythonBase
+VBoxPython3_5m_EXTENDS_BY = appending
+VBoxPython3_5m_TEMPLATE   = XPCOM
+VBoxPython3_5m_INCS       = $(VBOX_PYTHON35M_INC)
+VBoxPython3_5m_LIBS       = $(VBOX_PYTHON35M_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHON35M_LIB_X86
+DLLS += VBoxPython3_5m_x86
+VBoxPython3_5m_x86_EXTENDS    = VBoxPythonBase_x86
+VBoxPython3_5m_x86_EXTENDS_BY = appending
+VBoxPython3_5m_x86_TEMPLATE   = XPCOM
+VBoxPython3_5m_x86_INCS       = $(VBOX_PYTHON35M_INC)
+VBoxPython3_5m_x86_LIBS       = $(VBOX_PYTHON35M_LIB_X86)
+  endif
  endif
 endif
 
@@ -295,6 +401,7 @@ else
 endif
 
  ifdef VBOX_WITH_32_ON_64_MAIN_API
+  ifdef VBOX_PYTHONDEF_LIB_X86
 VBoxPython_x86_EXTENDS      = VBoxPythonBase_x86
 VBoxPython_x86_DEFS         = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_x86_DEFS))
 VBoxPython_x86_INCS         = $(VBoxPythonBase_x86_INCS) $(VBOX_PYTHONDEF_INC)
@@ -303,6 +410,7 @@ if "$(KBUILD_TARGET)" == "linux"
 else
  VBoxPython_x86_LIBS        = $(VBoxPythonBase_x86_LIBS) $(VBOX_PYTHONDEF_LIB_X86)
 endif
+  endif
  endif
 endif
 
diff --git a/src/libs/xpcom18a4/python/gen_python_deps.py b/src/libs/xpcom18a4/python/gen_python_deps.py
index 2be738e..2c4013f 100755
--- a/src/libs/xpcom18a4/python/gen_python_deps.py
+++ b/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -15,39 +15,49 @@ hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 import os,sys
 from distutils.version import StrictVersion
 
-versions = ["2.6", "2.7", "3.1", "3.2", "3.3", "3.4", "3.5"]
+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m"]
 prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
 known = {}
 
-def checkPair(p, v,dllpre,dllsuff, bitness_magic):
-    file =  os.path.join(p, "include", "python"+v, "Python.h")
-    if not os.path.isfile(file):
+def checkPair(p, v, dllpre, dllsuff, bitness_magic):
+    incdir = os.path.join(p, "include", "python"+v)
+    incfile = os.path.join(incdir, "Python.h")
+    if not os.path.isfile(incfile):
         return None
 
     lib = os.path.join(p, "lib/i386-linux-gnu", dllpre+"python"+v+dllsuff)
     if not os.path.isfile(lib):
         lib = os.path.join(p, "lib", dllpre+"python"+v+dllsuff)
+        if not os.path.isfile(lib):
+            lib = None
 
     if bitness_magic == 1:
         lib64 = os.path.join(p, "lib", "64", dllpre+"python"+v+dllsuff)
+        if not os.path.isfile(lib64):
+            lib64 = None
     elif bitness_magic == 2:
         lib64 = os.path.join(p, "lib/x86_64-linux-gnu", dllpre+"python"+v+dllsuff)
         if not os.path.isfile(lib64):
             lib64 = os.path.join(p, "lib64", dllpre+"python"+v+dllsuff)
             if not os.path.isfile(lib64):
-                lib64 = lib
+                lib64 = os.path.join(p, "lib", dllpre+"python"+v+dllsuff)
                 if not os.path.isfile(lib64):
-                    return None
-
+                    lib64 = None
     else:
         lib64 = None
-    return [os.path.join(p, "include", "python"+v), lib, lib64]
+
+    if lib is None and lib64 is None:
+        return None
+    else:
+        return [incdir, lib, lib64]
 
 def print_vars(vers, known, sep, bitness_magic):
     print("VBOX_PYTHON%s_INC=%s%s" %(vers, known[0], sep))
     if bitness_magic > 0:
-        print("VBOX_PYTHON%s_LIB=%s%s" %(vers, known[2], sep))
-        print("VBOX_PYTHON%s_LIB_X86=%s%s" %(vers, known[1], sep))
+        if known[2]:
+            print("VBOX_PYTHON%s_LIB=%s%s" %(vers, known[2], sep))
+        if known[1]:
+            print("VBOX_PYTHON%s_LIB_X86=%s%s" %(vers, known[1], sep))
     else:
         print("VBOX_PYTHON%s_LIB=%s%s" %(vers, known[1], sep))
 
@@ -94,7 +104,11 @@ def main(argv):
         bitness_magic = 2
 
     for v in versions:
-        if StrictVersion(v) < StrictVersion('2.6'):
+        if v.endswith("m"):
+            realversion = v[:-1]
+        else:
+            realversion = v
+        if StrictVersion(realversion) < StrictVersion('2.6'):
             continue
         for p in prefixes:
             c = checkPair(p, v, dllpre, dllsuff, bitness_magic)
@@ -110,7 +124,7 @@ def main(argv):
     for k in keys:
         if d is None:
             d = k
-        vers = k.replace('.', '')
+        vers = k.replace('.', '').upper()
         print_vars(vers, known[k], sep, bitness_magic)
     if d is not None:
         print_vars("DEF", known[d], sep, bitness_magic)
diff --git a/src/libs/xpcom18a4/python/vboxxpcom.py b/src/libs/xpcom18a4/python/vboxxpcom.py
index 8235a48..ece18e0 100755
--- a/src/libs/xpcom18a4/python/vboxxpcom.py
+++ b/src/libs/xpcom18a4/python/vboxxpcom.py
@@ -33,15 +33,26 @@ _asVBoxPythons = [
     'VBoxPython' + str(sys.version_info[0]) + '_' + str(sys.version_info[1]),
     'VBoxPython' + str(sys.version_info[0]),
     'VBoxPython'
-];
+]
+
+# For Python 3.2 and later use the right ABI flag suffix for the module.
+if sys.hexversion >= 0x030200f0 and sys.abiflags:
+    _asNew = []
+    for sCandidate in _asVBoxPythons:
+        if isdigit(sCandidate[-1:]):
+            _asNew.append(sCandidate + sys.abiflags)
+        else:
+            _asNew.append(sCandidate)
+    _asVBoxPythons = _asNew
+    del _asNew
 
 # On platforms where we ship both 32-bit and 64-bit API bindings, we have to
 # look for the right set if we're a 32-bit process.
 if platform.system() in [ 'SunOS', ] and sys.maxsize <= 2**32:
-    _asNew = [ sCandidate + '_x86' for sCandidate in _asVBoxPythons ];
-    _asNew.extend(_asVBoxPythons);
-    _asVBoxPythons = _asNew;
-    del _asNew;
+    _asNew = [ sCandidate + '_x86' for sCandidate in _asVBoxPythons ]
+    _asNew.extend(_asVBoxPythons)
+    _asVBoxPythons = _asNew
+    del _asNew
 
 # On Darwin (aka Mac OS X) we know exactly where things are in a normal
 # VirtualBox installation.
@@ -64,8 +75,8 @@ if platform.system() == 'Darwin':
     sys.path.remove('/Applications/VirtualBox.app/Contents/MacOS')
 
 if _oVBoxPythonMod == None:
-    raise Exception('Cannot find VBoxPython module (tried: %s)' % (', '.join(_asVBoxPythons),));
+    raise Exception('Cannot find VBoxPython module (tried: %s)' % (', '.join(_asVBoxPythons),))
 
-sys.modules['xpcom._xpcom'] = _oVBoxPythonMod;
-xpcom._xpcom = _oVBoxPythonMod;
+sys.modules['xpcom._xpcom'] = _oVBoxPythonMod
+xpcom._xpcom = _oVBoxPythonMod
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-virtualbox/virtualbox.git



More information about the Pkg-virtualbox-commits mailing list