vlc.git
13 months agocontrib: vncclient: Backport a patch for picking the right AR tool for cross compilation
Martin Storsjö [Thu, 14 Jun 2018 07:22:01 +0000 (10:22 +0300)]
contrib: vncclient: Backport a patch for picking the right AR tool for cross compilation

In many cases, the host AR tool just happens to work fine for e.g.
mingw cross builds, but clang targeting x86 mingw recently started
generating code that trips up GNU binutils ar, with cases like this:

/usr/bin/ar: cursor.o: Unrecognized storage class 0 for .rdata symbol `__xmm@01010101010101010101010101010101'

13 months agoaom: encoder: use aom_img_wrap to avoid memcpy
Tristan Matthews [Thu, 14 Jun 2018 17:39:32 +0000 (13:39 -0400)]
aom: encoder: use aom_img_wrap to avoid memcpy

Adapted from a0883a5e453723ef553506bdb0459724e5d7cb69

13 months agodemux: avformat: fix build with guess_ar / libav
Francois Cartegnie [Thu, 14 Jun 2018 16:49:07 +0000 (18:49 +0200)]
demux: avformat: fix build with guess_ar / libav

13 months agodemux: avformat: fix build with guess_rate / libav
Francois Cartegnie [Thu, 14 Jun 2018 16:43:47 +0000 (18:43 +0200)]
demux: avformat: fix build with guess_rate / libav

13 months agodemux:mp4: the i_end is given stime_t not mtime_t
Steve Lhomme [Fri, 8 Jun 2018 08:40:41 +0000 (10:40 +0200)]
demux:mp4: the i_end is given stime_t not mtime_t

13 months agooldrc: the value read from atoi is in seconds not mtime_t
Steve Lhomme [Thu, 31 May 2018 13:20:10 +0000 (15:20 +0200)]
oldrc: the value read from atoi is in seconds not mtime_t

13 months agodirectsound: the size in TimeGet() is not an mtime_t
Steve Lhomme [Mon, 7 May 2018 15:06:55 +0000 (17:06 +0200)]
directsound: the size in TimeGet() is not an mtime_t

13 months agoaccess_output: udp: i_to_send is not an mtime_t
Steve Lhomme [Mon, 7 May 2018 14:23:33 +0000 (16:23 +0200)]
access_output: udp: i_to_send is not an mtime_t

13 months agovout:win32: the hide timeout is stored in milliseconds not mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:12:27 +0000 (17:12 +0200)]
vout:win32: the hide timeout is stored in milliseconds not mtime_t

13 months agopacketizer:mpeg4video: internal times are not mtime_t
Steve Lhomme [Wed, 13 Jun 2018 09:30:20 +0000 (11:30 +0200)]
packetizer:mpeg4video: internal times are not mtime_t

13 months agomux:ogg: the dt/pt for Dirac are not mtime_t
Steve Lhomme [Wed, 13 Jun 2018 08:26:43 +0000 (10:26 +0200)]
mux:ogg: the dt/pt for Dirac are not mtime_t

Rather a count of frames

13 months agomux:asf: the i_preroll_time is not an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 11:10:43 +0000 (13:10 +0200)]
mux:asf: the i_preroll_time is not an mtime_t

It's a number of milliseconds

13 months agoqt: "short-jump-size" is in seconds, not an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 10:23:51 +0000 (12:23 +0200)]
qt: "short-jump-size" is in seconds, not an mtime_t

13 months agoaudioscrobbler: played_time is not an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 10:07:11 +0000 (12:07 +0200)]
audioscrobbler: played_time is not an mtime_t

convert to seconds using mtime_to_sec()

13 months agoskins2: the internal interval is not an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 07:51:44 +0000 (09:51 +0200)]
skins2: the internal interval is not an mtime_t

13 months agodemux:mp4: the track i_time is not an mtime_t
Steve Lhomme [Fri, 8 Jun 2018 12:37:06 +0000 (14:37 +0200)]
demux:mp4: the track i_time is not an mtime_t

It's always set/add/converted from an stime_t value.

13 months agodemux:mp4: the local i_time in FragGetMoofByTfraIndex() is not an mtime_t
Steve Lhomme [Fri, 8 Jun 2018 12:12:55 +0000 (14:12 +0200)]
demux:mp4: the local i_time in FragGetMoofByTfraIndex() is not an mtime_t

13 months agopacketizer: mpeg4audio: i_diff is an mtime_t
Steve Lhomme [Thu, 14 Jun 2018 09:51:49 +0000 (11:51 +0200)]
packetizer: mpeg4audio: i_diff is an mtime_t

13 months agofps: i_output_frame_interval is an mtime_t
Steve Lhomme [Thu, 14 Jun 2018 06:59:56 +0000 (08:59 +0200)]
fps: i_output_frame_interval is an mtime_t

13 months agosubsdelay: the local offset is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:44:12 +0000 (17:44 +0200)]
subsdelay: the local offset is an mtime_t

13 months agorss: i_speed is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:28:16 +0000 (17:28 +0200)]
rss: i_speed is an mtime_t

13 months agocache_read: read_time is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:17:34 +0000 (17:17 +0200)]
cache_read: read_time is an mtime_t

13 months agocache_block: read_time is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:17:16 +0000 (17:17 +0200)]
cache_block: read_time is an mtime_t

13 months agovideo_filter:magnify: i_last_activity is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 15:15:54 +0000 (17:15 +0200)]
video_filter:magnify: i_last_activity is an mtime_t

13 months agosout:rtpfmt: clean variables/parameters that are mtime_t
Steve Lhomme [Wed, 13 Jun 2018 13:40:02 +0000 (15:40 +0200)]
sout:rtpfmt: clean variables/parameters that are mtime_t

13 months agosout:rtp: fix misc variables/parameters that are mtime_t
Steve Lhomme [Wed, 13 Jun 2018 13:22:29 +0000 (15:22 +0200)]
sout:rtp: fix misc variables/parameters that are mtime_t

13 months agobridge: an mdate() is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 12:54:42 +0000 (14:54 +0200)]
bridge: an mdate() is an mtime_t

13 months agomux:ogg: the local i_time is an mtime_t
Steve Lhomme [Wed, 13 Jun 2018 08:31:09 +0000 (10:31 +0200)]
mux:ogg: the local i_time is an mtime_t

13 months agomux:ts: fix variables that are mtime_t
Steve Lhomme [Tue, 12 Jun 2018 12:56:20 +0000 (14:56 +0200)]
mux:ts: fix variables that are mtime_t

13 months agomux:ps: fix variables that are mtime_t
Steve Lhomme [Tue, 12 Jun 2018 12:54:31 +0000 (14:54 +0200)]
mux:ps: fix variables that are mtime_t

13 months agomux:mp4: the difference of mtime_t is an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 11:07:35 +0000 (13:07 +0200)]
mux:mp4: the difference of mtime_t is an mtime_t

13 months agoqt: the points seek time is an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 10:24:46 +0000 (12:24 +0200)]
qt: the points seek time is an mtime_t

13 months agohotkeys: the delay up/down are processed in mtime_t
Steve Lhomme [Tue, 12 Jun 2018 09:58:51 +0000 (11:58 +0200)]
hotkeys: the delay up/down are processed in mtime_t

And with 50ms inc/decrements

13 months agomux:mp4: the i_length_neg is an mtime_t
Steve Lhomme [Tue, 12 Jun 2018 11:42:38 +0000 (13:42 +0200)]
mux:mp4: the i_length_neg is an mtime_t

13 months agomux:mp4: the duration passed to mp4mux_GetMoovBox() is an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 15:45:58 +0000 (17:45 +0200)]
mux:mp4: the duration passed to mp4mux_GetMoovBox() is an mtime_t

We then scale it to the movie and use it scaled.

13 months agomux:mp4: i_trex_default_length is an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 15:47:08 +0000 (17:47 +0200)]
mux:mp4: i_trex_default_length is an mtime_t

13 months agomux:mp4: mp4mux_edit_t.i_read_duration is an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 15:33:13 +0000 (17:33 +0200)]
mux:mp4: mp4mux_edit_t.i_read_duration is an mtime_t

13 months agomux:mp4: mp4mux_edit_t.i_duration is an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 15:31:13 +0000 (17:31 +0200)]
mux:mp4: mp4mux_edit_t.i_duration is an mtime_t

13 months agodemux:adaptive: the min/max buffering are mtime_t so pass them down as such
Steve Lhomme [Mon, 11 Jun 2018 13:13:49 +0000 (15:13 +0200)]
demux:adaptive: the min/max buffering are mtime_t so pass them down as such

13 months agodemux:adaptive: doDemux is given an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 13:11:08 +0000 (15:11 +0200)]
demux:adaptive: doDemux is given an mtime_t

13 months agodemux:adaptive: last_duration is an mtime_t
Steve Lhomme [Mon, 11 Jun 2018 13:04:14 +0000 (15:04 +0200)]
demux:adaptive: last_duration is an mtime_t

Converted using to the segment timescale SegmentTracker::getNextChunk().

13 months agodemux:asf: the preroll start is in mtime_t
Steve Lhomme [Thu, 7 Jun 2018 09:31:58 +0000 (11:31 +0200)]
demux:asf: the preroll start is in mtime_t

13 months agotest: input: Assign packetizer to the owner
Hugo Beauzée-Luyssen [Thu, 14 Jun 2018 11:26:02 +0000 (13:26 +0200)]
test: input: Assign packetizer to the owner

13 months agoQt: Fix building with Qt < 5.7 after 691c674bfff
Martin Storsjö [Thu, 14 Jun 2018 09:09:03 +0000 (12:09 +0300)]
Qt: Fix building with Qt < 5.7 after 691c674bfff

The parent argument to QAction constructors were made optional
in Qt 5.7, but contribs still build Qt 5.6.

13 months agocontrib: Always use the -i.orig form for in-place sed edits
Martin Storsjö [Thu, 14 Jun 2018 08:06:11 +0000 (11:06 +0300)]
contrib: Always use the -i.orig form for in-place sed edits

The form when no backup is saved for in-place edits differs between
sed implementations; on macOS, the correct form is 'sed -i "" ...'
while it is 'sed -i ...' on Linux. This form of saving an .orig
file works the same on both.

This fixes cross compiling Qt with contribs from macOS.

13 months agocontrib: lua: Make sure to use the right AR tool for the target
Martin Storsjö [Thu, 14 Jun 2018 07:22:01 +0000 (10:22 +0300)]
contrib: lua: Make sure to use the right AR tool for the target

In many cases, the host AR tool just happens to work fine for e.g.
mingw cross builds, but clang targeting x86 mingw recently started
generating code that trips up GNU binutils ar, with cases like this:

ar: lcode.o: Unrecognized storage class 0 for .rdata symbol `__xmm@8000000000000
0008000000000000000'

Just consistently use the right AR tool for the target, just like
we do for RANLIB and STRIP.

13 months agoes_out: store ES's in a list
Rémi Denis-Courmont [Wed, 13 Jun 2018 18:45:59 +0000 (21:45 +0300)]
es_out: store ES's in a list

13 months agoes_out: store programs in a list
Rémi Denis-Courmont [Wed, 13 Jun 2018 17:38:16 +0000 (20:38 +0300)]
es_out: store programs in a list

13 months agoinput item: use vlc_list for per-category infos
Rémi Denis-Courmont [Sun, 10 Jun 2018 18:47:37 +0000 (21:47 +0300)]
input item: use vlc_list for per-category infos

13 months agoobjects: use vlc_list helpers
Rémi Denis-Courmont [Sun, 10 Jun 2018 17:37:06 +0000 (20:37 +0300)]
objects: use vlc_list helpers

13 months agotest: add tests for vlc_list
Rémi Denis-Courmont [Sun, 10 Jun 2018 19:32:09 +0000 (22:32 +0300)]
test: add tests for vlc_list

13 months agovlc_list: helpers for doubly linked lists
Rémi Denis-Courmont [Sun, 10 Jun 2018 17:36:06 +0000 (20:36 +0300)]
vlc_list: helpers for doubly linked lists

13 months agopacketizer: add MJPEG
Francois Cartegnie [Fri, 8 Jun 2018 18:06:05 +0000 (20:06 +0200)]
packetizer: add MJPEG

13 months agoQt: split logically renderer widget and improve
Francois Cartegnie [Sun, 10 Jun 2018 20:02:49 +0000 (22:02 +0200)]
Qt: split logically renderer widget and improve

13 months agopacketizer: mpeg4audio: fix discontinuity check
Francois Cartegnie [Tue, 12 Jun 2018 16:16:11 +0000 (18:16 +0200)]
packetizer: mpeg4audio: fix discontinuity check

triggering discontinuity on every packet with
some streams, depending on preroll

13 months agodemux: avformat: use guess_ar
Francois Cartegnie [Tue, 12 Jun 2018 15:22:22 +0000 (17:22 +0200)]
demux: avformat: use guess_ar

13 months agodemux: avformat: use guess rate instead of timebase
Francois Cartegnie [Tue, 12 Jun 2018 15:04:21 +0000 (17:04 +0200)]
demux: avformat: use guess rate instead of timebase

contains same code, and
packet time base can be != from the real rate (ex: flv)

13 months agonsis: Rework displayed file type
Hugo Beauzée-Luyssen [Tue, 12 Jun 2018 12:21:10 +0000 (14:21 +0200)]
nsis: Rework displayed file type

13 months agoRevert "nsis: Remove duplicated extension display"
Hugo Beauzée-Luyssen [Tue, 12 Jun 2018 09:53:10 +0000 (11:53 +0200)]
Revert "nsis: Remove duplicated extension display"

This reverts commit bf2ff7fe9034ea4effa7a61d0cc17aabc8248202.

13 months agoqt: protect against invalid Qsize
Erwan Tulou [Tue, 12 Jun 2018 08:48:52 +0000 (10:48 +0200)]
qt: protect against invalid Qsize

This partially reverts commit 5ea9b98e29b518dadfc10e710eaa18f2c42468e9.

13 months agohotkeys: fix crash when zooming
Erwan Tulou [Mon, 11 Jun 2018 11:24:32 +0000 (13:24 +0200)]
hotkeys: fix crash when zooming

13 months agoqt: remove dubious and non functional call
Erwan Tulou [Fri, 25 May 2018 10:37:21 +0000 (12:37 +0200)]
qt: remove dubious and non functional call

As no videoWidget is ever inserted into the stackWidgetsSizes QMap, a
default QSize is provided with width and height = -1. These uninitialized
values are then propagated and end up as a no op at some point.

Yet, on Wayland, this -1 default values can end up being transmitted to
the Wayland server, that treats them as invalid values (protocol error).
At least the Gnome server(mutter) does.

This fix simply removes the call.

13 months agodemux: mkv: fix more hvcC detection
Zhao Zhili [Mon, 11 Jun 2018 12:54:37 +0000 (20:54 +0800)]
demux: mkv: fix more hvcC detection

MKV files made by DivXMKVMux 9.8.12.1750 are broken too. FFmpeg
hevc_parse.c did the same thing to workaround the issue.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
13 months agodemux: ts: fixed duration probing
Jeremy Vignelles [Thu, 24 May 2018 15:25:39 +0000 (17:25 +0200)]
demux: ts: fixed duration probing

Symptoms: I have a recorded .ts file that is around 15 seconds long for
testing.
VLC can play the stream fine, but the displayed duration is 10s.
When VLC reaches the end of the file, it seems to realize that there is
more data and increases the duration as the file plays.

Digging into ProbeEnd:
I digged into the code and found the ProbeEnd method.
It calls ProbeChunk, with output args (the pcr and a found boolean).

If pcr == -1, the previous chunk is taken, until PROBE_MAX is reached.

However, the i_pcr received from the ProbeChunk method is the pcr of the
last packet, and not the pcr of the last packet with a pcr.
It means that most of the time, the pcr is -1 and the previous chunk is
read, even though b_found is true.

What's the use of that condition? I removed it, please correct me if I'm
wrong.

The ProbeStart has the same suspicious condition, so I removed it too. I
also saw the suspicious `i_pos > 0` which is always false at the first
iteration.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
13 months agovlm: vlm_New() needs a VLC instance
Rémi Denis-Courmont [Mon, 11 Jun 2018 17:51:04 +0000 (20:51 +0300)]
vlm: vlm_New() needs a VLC instance

Don't hide the fact.

13 months agoobjects: remove useless macro
Rémi Denis-Courmont [Mon, 11 Jun 2018 17:50:41 +0000 (20:50 +0300)]
objects: remove useless macro

13 months agoqt: fix subtitle open not selecting the current video folder
Pierre Lamot [Tue, 5 Jun 2018 09:30:13 +0000 (11:30 +0200)]
qt: fix subtitle open not selecting the current video folder

scheme was prunned

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
13 months agoinfo: remove dead code
Rémi Denis-Courmont [Sun, 10 Jun 2018 17:52:32 +0000 (20:52 +0300)]
info: remove dead code

13 months agomacosx/nowplaying: make sure the album track number is exposed as number
Felix Paul Kühne [Sun, 10 Jun 2018 16:29:20 +0000 (18:29 +0200)]
macosx/nowplaying: make sure the album track number is exposed as number

13 months agomacosx: include actual Info.plist in pseudo target
Felix Paul Kühne [Sun, 10 Jun 2018 16:20:32 +0000 (18:20 +0200)]
macosx: include actual Info.plist in pseudo target

13 months agomacosx: modernize the remaining sheet dialogs
Felix Paul Kühne [Sun, 10 Jun 2018 16:04:32 +0000 (18:04 +0200)]
macosx: modernize the remaining sheet dialogs

13 months agomacosx: modernize xib file use for the main menu
Felix Paul Kühne [Sun, 10 Jun 2018 15:15:40 +0000 (17:15 +0200)]
macosx: modernize xib file use for the main menu

13 months agodeinterlace/win32: keep off filter owner private data
Rémi Denis-Courmont [Sun, 10 Jun 2018 14:49:20 +0000 (17:49 +0300)]
deinterlace/win32: keep off filter owner private data

13 months agofilter: fix copy-paste doc error
Rémi Denis-Courmont [Sun, 10 Jun 2018 15:12:15 +0000 (18:12 +0300)]
filter: fix copy-paste doc error

13 months agoes_out: remove es_out_t.p_sys
Rémi Denis-Courmont [Sun, 10 Jun 2018 14:42:36 +0000 (17:42 +0300)]
es_out: remove es_out_t.p_sys

13 months agobd: use single allocation for ES output
Rémi Denis-Courmont [Sun, 10 Jun 2018 14:27:44 +0000 (17:27 +0300)]
bd: use single allocation for ES output

And simplify accordingly.

13 months agodemux-run: use typed pointer for parent object
Rémi Denis-Courmont [Sun, 10 Jun 2018 13:49:53 +0000 (16:49 +0300)]
demux-run: use typed pointer for parent object

13 months agoes_out_timeshift: use single allocation for the ES output
Rémi Denis-Courmont [Sun, 10 Jun 2018 13:34:40 +0000 (16:34 +0300)]
es_out_timeshift: use single allocation for the ES output

13 months agoes_out: use single allocation for the ES output
Rémi Denis-Courmont [Sun, 10 Jun 2018 13:34:40 +0000 (16:34 +0300)]
es_out: use single allocation for the ES output

13 months agoes_out: use constant callback structures
Rémi Denis-Courmont [Sun, 10 Jun 2018 12:37:00 +0000 (15:37 +0300)]
es_out: use constant callback structures

13 months agofilter/win32: use constant callback structures
Rémi Denis-Courmont [Sun, 10 Jun 2018 12:37:00 +0000 (15:37 +0300)]
filter/win32: use constant callback structures

13 months agoci_filters: compilation fix
Felix Paul Kühne [Sun, 10 Jun 2018 12:52:36 +0000 (14:52 +0200)]
ci_filters: compilation fix

13 months agomacosx: upgrade accessibility code
Felix Paul Kühne [Sun, 10 Jun 2018 12:47:00 +0000 (14:47 +0200)]
macosx: upgrade accessibility code

13 months agomacosx/prefs: fix reset of textfields
Felix Paul Kühne [Sun, 10 Jun 2018 12:15:48 +0000 (14:15 +0200)]
macosx/prefs: fix reset of textfields

13 months agofilter: use constant callback structures
Rémi Denis-Courmont [Sun, 10 Jun 2018 12:37:00 +0000 (15:37 +0300)]
filter: use constant callback structures

13 months agosd: move callbacks to constant structure
Rémi Denis-Courmont [Sun, 10 Jun 2018 12:11:07 +0000 (15:11 +0300)]
sd: move callbacks to constant structure

13 months agomacosx: require SDK macOS 10.12.2 or later for compilation
Felix Paul Kühne [Sun, 10 Jun 2018 12:00:27 +0000 (14:00 +0200)]
macosx: require SDK macOS 10.12.2 or later for compilation

13 months agomacosx: remove legacy code for pre-Yosemite macOS versions
Felix Paul Kühne [Sun, 10 Jun 2018 11:53:36 +0000 (13:53 +0200)]
macosx: remove legacy code for pre-Yosemite macOS versions

13 months agomacosx: Silence warning about NSFontPanelModeMask
David Fuhrmann [Sun, 10 Jun 2018 11:47:28 +0000 (13:47 +0200)]
macosx: Silence warning about NSFontPanelModeMask

This should be able to be just replace the old NSUInteger, according
to docs.

13 months agomacosx: remove hack for macOS Mavericks
Felix Paul Kühne [Sun, 10 Jun 2018 09:55:32 +0000 (11:55 +0200)]
macosx: remove hack for macOS Mavericks

13 months agomacosx: split windows file to have one class per file
Felix Paul Kühne [Sun, 10 Jun 2018 09:36:51 +0000 (11:36 +0200)]
macosx: split windows file to have one class per file

13 months agomacosx/VLCDefaultValueSliderCell: don't access AppKit instance variables directly
Felix Paul Kühne [Sun, 10 Jun 2018 08:57:12 +0000 (10:57 +0200)]
macosx/VLCDefaultValueSliderCell: don't access AppKit instance variables directly

Access to those will be removed in a future update of macOS

13 months agomacosx/windows: don't access AppKit instance variables directly
Felix Paul Kühne [Sun, 10 Jun 2018 08:55:03 +0000 (10:55 +0200)]
macosx/windows: don't access AppKit instance variables directly

Access to those will be removed in a future update of macOS

13 months agomacosx: fix typo
Rémi Denis-Courmont [Sun, 10 Jun 2018 10:22:53 +0000 (13:22 +0300)]
macosx: fix typo

13 months agoinclude: remove vlc_list_t
Rémi Denis-Courmont [Sun, 10 Jun 2018 09:58:23 +0000 (12:58 +0300)]
include: remove vlc_list_t

13 months agovariables: use table of vlc_value_t for VLC_VAR_GETCHOICES
Rémi Denis-Courmont [Sun, 10 Jun 2018 09:59:47 +0000 (12:59 +0300)]
variables: use table of vlc_value_t for VLC_VAR_GETCHOICES

This simplifies the notation. No function differences.

13 months agohotkeys: separate immediate and string list handling
Rémi Denis-Courmont [Sun, 10 Jun 2018 09:07:30 +0000 (12:07 +0300)]
hotkeys: separate immediate and string list handling

13 months agohotkeys: remove tautology test
Rémi Denis-Courmont [Sun, 10 Jun 2018 09:04:40 +0000 (12:04 +0300)]
hotkeys: remove tautology test

13 months agohotkeys: simplify
Rémi Denis-Courmont [Sat, 9 Jun 2018 15:16:02 +0000 (18:16 +0300)]
hotkeys: simplify

13 months agohotkeys: appropriate var_FreeList()
Rémi Denis-Courmont [Sun, 10 Jun 2018 08:51:00 +0000 (11:51 +0300)]
hotkeys: appropriate var_FreeList()