From ae5320192b37d79f798c833f79b1340444d6d4de Mon Sep 17 00:00:00 2001 From: hbeham Date: Thu, 16 Nov 2017 12:05:02 +0100 Subject: [PATCH] - fixed possible NPE if a file contains no supported list - updated readme --- readme.md | 15 ++++--- source/ChanSort/MainForm.cs | 2 + source/ChanSort/MainForm.resx | 84 ++++++++++++++++------------------- 3 files changed, 50 insertions(+), 51 deletions(-) diff --git a/readme.md b/readme.md index df68dd2..3262fd0 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@ About ChanSort -------------- ChanSort is a PC/Windows application that allows you to reorder your TV's channel list. Most modern TVs can transfer channel lists via USB stick, which you can plug into your PC. -ChanSort supports various models from **Hisense** (NEW), LG, Panasonic, Samsung, Toshiba and the Linux VDR project. +ChanSort supports various models from Hisense, Samsung, LG, Panasonic, Toshiba and the Linux VDR project. ![screenshot](http://beham.biz/chansort/ChanSort-en.png) @@ -34,14 +34,14 @@ Most of this software was written without support from TV manufacturers or acces documentation about the file formats. It is solely based on analysing existing data files, trial and error. There is a chance of unwanted side-effects or even damage to your TV, as reported in 2 cases. -Hisense is the only manufacturer who provided both information and a test device. +Hisense is the only manufacturer who provided technical information and a test device. System requirements ------------------- - [Microsoft .NET Framework 4.0 (Full)](http://www.microsoft.com/en-us/download/details.aspx?id=17851): included in Win8, required for Win7, Vista and XP SP3 - [Microsoft Visual C++ 2010 Redistributable Package (x86)](http://www.microsoft.com/en-us/download/details.aspx?id=8328): - required to edit SQLite lists (Hisense, Panasonic, Toshiba and Samsung J-series) + required to edit SQLite lists (Hisense, Panasonic, Toshiba and Samsung .zip format) - USB stick/SD-card to transfer the channel list between your TV and PC (FAT32 file system recommended) - Some LG models require a special service remote control to access the import/export functions (see Wiki for details) @@ -49,11 +49,13 @@ Supported TV models ------------------- **Hisense** -Smart models (2016) with a channel.db format, i.e. H65M5500 +2016 "Smart" models with a channel.db file, i.e. H65M5500 +2017 models with a servicelist.db file Special thanks to Hisense for supporting ChanSort with technical information and a test device! **Samsung** -Series: B (2009)*, B (2013), C, D, E, F, H, J +.scm files: B (2009)*, B (2013), C, D, E, F, H series +.zip files: H, J, K, M series Lists: Air analog, Air digital, Cable analog, Cable digital, Cable Prime, Sat digital, Astra HD+, Freesat, TivuSat, Canal Digital Sat, Digital+, Cyfra+ @@ -68,10 +70,11 @@ http://www.ullrich.es/job/sendersortierung/senderlisten-samsung-tv-exportieren-i **LG** Series: CS, DM, LA, LB\*, LD, LE, LF, LH, LK, LM+, LN, LP#, LS, LT, LV, LW, LX, PM, PN, PT, UB\* +and all newer models using the GlobalClone.TLL format Lists: Analog TV, DTV (DVB-C, DVB-T), Radio (DVB-C/T), Sat-DTV (DVB-S2), Sat-Radio (DVB-S2) \*: Some devices behave erroneously due to firmware issues. -+: See system requirements for LM-series. xxLM640T is not supported due to firmware limitations. ++: See system requirements for LM-series. xxLM640T is not supported due to its firmware limitations. \#: Only satellite channels supported. Other models might also work, but have not been tested. If you have a .TLL file of a series not listed here, please send it to me. diff --git a/source/ChanSort/MainForm.cs b/source/ChanSort/MainForm.cs index 3abe318..254172b 100644 --- a/source/ChanSort/MainForm.cs +++ b/source/ChanSort/MainForm.cs @@ -1434,6 +1434,8 @@ namespace ChanSort.Ui private bool GetGridColumnVisibility(GridColumn col) { var list = this.CurrentChannelList; + if (list == null) + return false; var filter = list.VisibleColumnFieldNames; if (filter != null && !filter.Contains(col.FieldName)) return false; diff --git a/source/ChanSort/MainForm.resx b/source/ChanSort/MainForm.resx index 6fb5792..afa1e22 100644 --- a/source/ChanSort/MainForm.resx +++ b/source/ChanSort/MainForm.resx @@ -126,7 +126,7 @@ 0, 110 - 361, 17 + 17, 95 Fill @@ -306,7 +306,7 @@ 1 - 600, 17 + 17, 173 True @@ -393,7 +393,7 @@ 256, 6 - 475, 17 + 17, 134 &File @@ -638,52 +638,52 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAF5EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1 - LjIuMTAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iODhkMTc1NGQ3MDBlNDlhBQEA - AAAmRGV2RXhwcmVzcy5YdHJhQmFycy5CYXJNYW5hZ2VyQ2F0ZWdvcnkDAAAABE5hbWUER3VpZAdWaXNp - YmxlAQMAC1N5c3RlbS5HdWlkAQIAAAAGAwAAAARGaWxlBPz///8LU3lzdGVtLkd1aWQLAAAAAl9hAl9i - Al9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAimjyeYLAXlNjU0h - Xl8ZftMBCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNy4xLCBWZXJzaW9uPTE3 + LjEuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe + Xxl+0wEL - AAEAAAD/////AQAAAAAAAAAMAgAAAF5EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1 - LjIuMTAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iODhkMTc1NGQ3MDBlNDlhBQEA - AAAmRGV2RXhwcmVzcy5YdHJhQmFycy5CYXJNYW5hZ2VyQ2F0ZWdvcnkDAAAABE5hbWUER3VpZAdWaXNp - YmxlAQMAC1N5c3RlbS5HdWlkAQIAAAAGAwAAAARIZWxwBPz///8LU3lzdGVtLkd1aWQLAAAAAl9hAl9i - Al9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAnRFVQ3oMDFNmnDa - cCqYQmABCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNy4xLCBWZXJzaW9uPTE3 + LjEuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw + KphCYAEL - AAEAAAD/////AQAAAAAAAAAMAgAAAF5EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1 - LjIuMTAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iODhkMTc1NGQ3MDBlNDlhBQEA - AAAmRGV2RXhwcmVzcy5YdHJhQmFycy5CYXJNYW5hZ2VyQ2F0ZWdvcnkDAAAABE5hbWUER3VpZAdWaXNp - YmxlAQMAC1N5c3RlbS5HdWlkAQIAAAAGAwAAAARFZGl0BPz///8LU3lzdGVtLkd1aWQLAAAAAl9hAl9i - Al9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAmTE7tfJWUVPiKpg - LmTIHMABCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNy4xLCBWZXJzaW9uPTE3 + LjEuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu + ZMgcwAEL - AAEAAAD/////AQAAAAAAAAAMAgAAAF5EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1 - LjIuMTAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iODhkMTc1NGQ3MDBlNDlhBQEA - AAAmRGV2RXhwcmVzcy5YdHJhQmFycy5CYXJNYW5hZ2VyQ2F0ZWdvcnkDAAAABE5hbWUER3VpZAdWaXNp - YmxlAQMAC1N5c3RlbS5HdWlkAQIAAAAGAwAAAAdPcHRpb25zBPz///8LU3lzdGVtLkd1aWQLAAAAAl9h - Al9iAl9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAlyTDofZ8wJC - nFiHlmBpFV0BCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNy4xLCBWZXJzaW9uPTE3 + LjEuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC + X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc + WIeWYGkVXQEL - AAEAAAD/////AQAAAAAAAAAMAgAAAF5EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1 - LjIuMTAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iODhkMTc1NGQ3MDBlNDlhBQEA - AAAmRGV2RXhwcmVzcy5YdHJhQmFycy5CYXJNYW5hZ2VyQ2F0ZWdvcnkDAAAABE5hbWUER3VpZAdWaXNp - YmxlAQMAC1N5c3RlbS5HdWlkAQIAAAAGAwAAAA1BY2Nlc3NpYmlsaXR5BPz///8LU3lzdGVtLkd1aWQL - AAAAAl9hAl9iAl9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAniL - 85x/FpVNuEiKPJEyCcQBCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNy4xLCBWZXJzaW9uPTE3 + LjEuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA + AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz + nH8WlU24SIo8kTIJxAEL @@ -1147,7 +1147,7 @@ globalImageCollection1 - ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.6529.20410, Culture=neutral, PublicKeyToken=null gviewRight @@ -1851,12 +1851,6 @@ DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v17.1, Version=17.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - 06/08/2017 17:07:00 - - - 16, 16 - 257, 5 @@ -2824,18 +2818,18 @@ specific provider, satellite or country lists. 0 - 194, 17 + 17, 56 - 781, 17 + 17, 212 - 911, 17 + 17, 251 - 1042, 17 + 17, 290 - 1196, 17 + 17, 329 \ No newline at end of file